Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Méls de confirmation selon la réponse

More
3 years 10 months ago #221088 by Viniasco
Je crois que l'expression date("ymd"...) n'est pas reconnue par LS.
J'ai donc essayé les 2 expressions en ne gardant que {TOKEN:SENT} à la place. La condition if ne fonctionnait toujours pas, du moins la réponse retournée était KO alors qu'elle aurait dû être OK.
Comme {TOKEN:SENT} affiche la date avec l'heure et les min., j'ai mis {TOKEN:SENT>="20211014","OK","KO"} ce qui devait être vrai même si ma valeur de référence n'indique pas les h:m.
Et avec ça, j'ai bien OK, même si je n'ai pas les - comme séparateur dans la date de référence.

Test ultime avec {if(TOKEN:SENT == "2021-10-15 15:33", "OK", "KO")} alors que la date d'envoi est 2021-10-15 15:34, la réponse est KO, donc bonne.

La comparaison des dates n'est donc pas gênée par les séparateurs, mais exige les h:m, à mois qu'on ne puisse imposer un format ymd, mais sans date("ymd",...).

Du coup, je devrais m'en sortir pour mon questionnaire avec non pas == mais >.
The topic has been locked.
More
3 years 10 months ago #221090 by DenisChenu
OK, autre idée pour la date en simplifié/texte comparable facilement

str_replace("-","",substr(TOKEN:SENT,0,10)) ?

Ou pitete j'ai fait une grosse erreur {date("Ymd",strtotime(TOKEN:SENT))} ?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
More
3 years 10 months ago #221113 by Viniasco

Ou pitete j'ai fait une grosse erreur {date("Ymd",strtotime(TOKEN:SENT))}

C'est bon ! Avec cette expression la comparaison de date se fait sans les h:min.

Je pensais donc enfin parvenir à mes fins, mais ça coince encore quelque part.
Cette expression fonctionne : 
Code:
{if((date("Ymd",strtotime(TOKEN:SENT))=="20211015")AND(Q2.NAOK=="Y"),"Rép1",if((date("Ymd",strtotime(TOKEN:SENT))=="20211015")AND(Q2.NAOK=="N"),"Rép2","Rép.4"))}

Mais plus celle-ci, qui est la première avec une condition en plus :
Code:
{if((date("Ymd",strtotime(TOKEN:SENT))=="20211015")AND(Q2.NAOK=="Y"),"Rép1",if((date("Ymd",strtotime(TOKEN:SENT))=="20211015")AND(Q2.NAOK=="N"),"Rép2",if((date("Ymd",strtotime(TOKEN:SENT))!=20211015")AND(Q2.NAOK=="Y"),"Rép3","Rép.4")))}

Est-ce parce qu'il y a trop de conditions ?
 
The topic has been locked.
More
3 years 10 months ago #221129 by DenisChenu
J'aime pas les condition imbriqué …
join(
if(date("Ymd",strtotime(TOKEN:SENT)=="20211015") AND (Q2.NAOK=="Y"),"Rép1"),
if(date("Ymd",strtotime(TOKEN:SENT)=="20211015") AND (Q2.NAOK=="N"),"Rép2"),
if(date("Ymd",strtotime(TOKEN:SENT)!="20211015") AND (Q2.NAOK=="Y"),"Rép3"),
if(date("Ymd",strtotime(TOKEN:SENT)!="20211015") AND (Q2.NAOK!="Y"),"Rép4"),
"")}

ca donne quoi ?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
More
3 years 10 months ago #221289 by Viniasco
Aucune réponse en conservant les sauts de ligne, mais Rép1Rép3 avec 
Code:
{join(if(date("Ymd",strtotime(TOKEN:SENT)=="20211015") AND (Q2.NAOK=="Y"),"Rép1"),if(date("Ymd",strtotime(TOKEN:SENT)=="20211015") AND (Q2.NAOK=="N"),"Rép2"),if(date("Ymd",strtotime(TOKEN:SENT)!="20211015") AND (Q2.NAOK=="Y"),"Rép3"),if(date("Ymd",strtotime(TOKEN:SENT)!="20211015") AND (Q2.NAOK!="Y"),"Rép4"),"")}
The topic has been locked.
More
3 years 10 months ago #221324 by DenisChenu
Pour les saut de lignes : utilise le champs dédié … ou désactive l'éditeur HTML

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
More
3 years 10 months ago - 3 years 10 months ago #221574 by Viniasco
De retour 

Je saisis toutes ces formules sans activer le html. C'est déjà bien assez compliqué comme ça.

Mais à priori la syntaxe de mes conditions imbriquées est bonne, puisqu'elle fonctionne avec 3. À 4 ça bloque, sais-tu s'il y a un nombre d'imbrications maximum ?

Bon appétit
Last edit: 3 years 10 months ago by Viniasco.
The topic has been locked.
More
3 years 10 months ago #221586 by Viniasco
Je ne trouve pas d'autre explication qu'une limite du nombre de conditions mis à 3, même si l'exemple donné dans cette page  laisse penser qu'il pourrait y en avoir bien plus.
The topic has been locked.
More
3 years 10 months ago - 3 years 10 months ago #221587 by Viniasco

Ça y est et voici la bonne syntaxe ! Inspirée de ta proposition et de la mienne :
Code:
{if(date("Ymd",strtotime(TOKEN:SENT))=="20211015" AND Q2.NAOK=="Y","RépD",if(date("Ymd",strtotime(TOKEN:SENT))=="20211015" AND Q2.NAOK!="Y","Rép2",if(date("Ymd",strtotime(TOKEN:SENT))!="20211015" AND Q2.NAOK=="Y","Rép3",if(date("Ymd",strtotime(TOKEN:SENT))!="20211015" AND Q2.NAOK!="Y","Rép4"))))}

Il a donc fallu que j'ajoute une 4ème condition pour le dernier cas, alors que je pensais qu'il suffisait de mettre la réponse à donner si les 3 1ères n'allaient pas. Comme dans Excel quoi.
Last edit: 3 years 10 months ago by Viniasco.
The following user(s) said Thank You: DenisChenu
The topic has been locked.
More
3 years 10 months ago #221588 by DenisChenu
Bizarre, normalement pas de limite spéciale sur les condition imbriquée …

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
More
3 years 10 months ago #221617 by Viniasco
Mais il n'y en a pas. Au contraire, c'est parce que je n'en mettais pas assez que ça coinçait.
The topic has been locked.
Moderators: Nickkoholchtpartner

Lime-years ahead

Online-surveys for every purse and purpose