Bonjour à tous
Après avoir bien profiter des nombreuses astuces de ce forum, je voulais ajouter ma petite contribution.
Exposé du problème :
Afficher une zone de liste contenant une liste de coloris tirée d'une table Tbl_Coloris (Id,Coloris,masqué) et filtré uniquement sur les coloris en cours
Le problème, si on affiche un enregistrement ancien contenant un coloris archivé (masqué), la zone de liste n'affiche pas ce champ.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 rowsource="SELECT DISTINCTROW tbl_couleur.id, tbl_couleur.Couleur,tbl_couleur.masquée FROM tbl_couleur WHERE ((tbl_couleur.masquée)=False));"
l'astuce consiste à modifier la requête de façon à inclure le coloris en cours même s'il est masqué :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT DISTINCTROW tbl_couleur.id, tbl_couleur.Couleur,tbl_couleur.masquée FROM tbl_couleur WHERE (((tbl_couleur.masquée)=False)) OR (((tbl_couleur.id)=[Formulaires]![Saisie]![Couleur_Numéro]));
Il faut également rajouter dans l'évènement activation du formulaire un rafraichissement de la zone de liste de façon qu'à chaque changement d'enregistrement la requête soit actualisée.
De cette façon, la zone de liste ne présentera que les coloris en cours mais également celui de l'enregistrement en cours même si le coloris n'est plus d'actualité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part me.modifiable1.requery
Partager