Bonjour, ce fil discute de deux problèmes différents :
- cas où la réponse à une question conditionne les choix proposés à la question suivante
- cas où on filtre les choix proposés.
Dans le second cas, voici un contournement possible : il faut passer par une nouvelle colonne qui va être calculée en fonction de la première, pour ne proposer que les options possibles.
Par exemple j’ai un catalogue de formations dans une table FORMATIONS avec une colonne $Intitule, une colonne $Date et une colonne booléenne $Dans_le_futur qui vaut = $Date and $Date > TODAY(). Dans mon formulaire d’inscription, je veux proposer uniquement les formations qui ont une date dans le futur.
Normalement, dans une vue Table de la table INSCRIPTIONS, j’utiliserais la condition de liste déroulante choice.Dans_le_futur sur la colonne $Formation de type référence vers FORMATIONS. Mais ça ne marche pas dans la vue Formulaire, il faut donc que je crée une nouvelle colonne $Intitule_catalogue dans la table FORMATIONS avec une formule qui est vide lorsque la formation est dans le passé, et vaut $Intitule lorsque la formation est dans le futur. Voici cette formule :
if $Dans_le_futur:
return f"{$Intitule}"
else:
return ""
Ensuite, dans la table INSCRIPTIONS, je reprends la colonne $Intitule_catalogue sous forme de référence vers la table FORMATIONS. C’est cette colonne qui va afficher les choix possibles pour s’inscrire, à savoir les formations organisée à une date future.
Attention :
- comme la formule de la colonne
$Intitule_cataloguese recalcule et se vide une fois la date de la formation passée, il convient de copier l’information dans une colonne de données qui prend comme formule d’initialisation= $Intitule_catalogueet qui est une référence vers la table FORMATIONS
Voici le modèle réutilisable que je viens de décrire : Modèle formulaire choix filtrés - Grist