Les questions de type Réponse simple
Pour créer une question de type Réponse simple, remplir, pour toutes les variables :
- le caractère Obligatoire de la réponse (en 2024, l'information n'a pas d'effet sur l'affichage de la question au sein du questionnaire).
- le type de réponse (Texte, Date, Nombre, Booléen, Durée)
Type de réponse Texte
Paramètres :
- la longueur maximale de la réponse (nombre de caractères)
Info
- A l'initialisation du questionnaire, tout champ texte vaut
null
- Quand on saisie une valeur, ex
"mon texte"
, puis qu'on efface cette valeur du champ, alors le champ texte vaut""
et non pasnull
comme au début.
C'est pourquoi, pour gérer les cas de champ texte vide, il faut gérer la nullité. On remplace ainsi les valeurs null
par ""
.
Ex de condition d'affichage d'un contrôle pour indiquer qu'un champ texte est vide
nvl($VAR$, "") = ""
Type de réponse Date
Paramètres :
- le format parmi
AAAA-MM-JJ
,AAAA-MM
etAAAA
- un minimum et un maximum
Info
- A l'initialisation du questionnaire, tout champ date vaut
null
- Quand on saisit une valeur, ex pour juste une année
2025
, puis qu'on efface cette valeur du champ, alors le champ date vautnull
comme au début. - Pour gérer un champ Date vide il suffit d'utiliser isnull()
isnull($DATE$)
Type d'une point de vue VTL
-
D'un point de vue Pogues, on parle bien d'un type Date, mais d'un point de vue VTL, une variable de type Date va en réalité être collectée en tant que texte sous l'un des formats cités plus haut.
Exemple
Si on collecte une date
ANNEE_NAIS
sous le formatAAAA-MM-JJ
et que l'on saisie les valeurs suivantesalors la variabel
ANNEE_NAIS
aura la valeur"2025-02-01"
est sera un texteC'est pourquoi il est nécessaire de transtyper en utilisant la fonction cast() ces variables en
date
pour les comparer. Voir exemple d'utilisation -
Dans cette même logique, cela veut dire que l'on peut directement afficher une variable de type date dans un libellé dans utiliser
Précaution
-
Si on laisse vide l'un des champs d'une date, alors aucune valeur ne sera collectée pour la variable associée.
Dans cet exemple Quand on regarde la valeur de la variable collecté correspondante, on anull
car il manque le mois -
Comme le champ date est incorrect, si on clique sur continuer et qu'on fait précédent, tous les champs de date sont vides
Type de réponse Nombre
Paramètres :
- le minimum et le maximum
- la précision (nombre de chiffres après la virgule, par défaut : aucun)
-
l'unité de mesure fixe ou personnalisée
Exemple d'utilisation d'une unité de mesure personnalisée
Choix de l'unité de mesure
Exemple d'une expression VTL pour l'unité de mesure.
(if $DEST$ = "1" then "Dirhams" else "Euros")
Si on choisi "Espagne" (
DEST=2
) alors on tombe dans leelse
et l'unité mesurée est "Euros"Si on choisi "Maroc" (
DEST=1
) alors on tombe dans la condition duif
et l'unité mesurée est "Dirham"
Info
- A l'initialisation du questionnaire, tout champ nombre vaut
null
- Quand on saisie une valeur, ex
86
, puis qu'on efface cette valeur du champ, alors le champ nombre vautnull
comme au début. - Pour gérer un champ Nombre vide il suffit d'utiliser isnull()
isnull($NOMBRE$)
Type de réponse Booléen
Pas de paramètres
Info
- A l'initialisation du questionnaire, tout champ booléen vaut
null
. La case est visuellement décochée. - Quand on coche la case, alors la valeur collectée est
true
, puis quand on décoche, alors la valeur collectée estfalse
.
Comme pour le champ texte, il faut gérer le cas de la nullité, on remplace les valeurs null
par false
pour gérer les cas où la case est décochée.
Ex de condition d'affichage d'un contrôle pour indiquer qu'une case de type booléen n'est pas cochée.
nvl($VAR$, false) = false
Type de réponse Durée
Paramètres :
-
le format parmi
- années/mois :
PnaYnmM
oùna
sera le nombre d'années etnm
le nombre de mois (ex :P3Y10M
pour "trois ans et dix mois") - heures/minutes :
PTnhHnmM
avecnh
le nombre d'heures etnm
le nombre de minutes (ex :PT12H30M
pour "douze heures et trente minutes").
- années/mois :
Info
- A l'initialisation du questionnaire, tout champ durée vaut
null
. - Quand on saisie une valeur, ex
2025
et12
pour année/mois, puis qu'on efface ces deux valeurs des champs, alors le champ durée vautnull
comme au début. - Pour gérer un champ Durée vide il suffit d'utiliser isnull()
isnull($DUREE$)