Donc si je comprend bien, tu veux avoir des listes dépendantes mais qui applique un filtre sur ton formulaire.
Pour appliquer un filtre sur un formulaire je te renvois à cette discussion, c'est exactement le sujet.
http://www.developpez.net/forums/d15...e/#post8584767
Pour les listes en cascade, voir la FAQ à ce sujet :
Comment faire en sorte que le contenu d'une zone de liste déroulante dépende de la valeur d'une autre liste ?
http://access.developpez.com/faq/?page=zdl#DepZdl
Avec une légère modification pour faire les dépendances en cascade, ajouter un bouton "Reset Liste" mettre quelque chose comme :
en dehors de toutes les procédure et fonction du formulaire
1 2 3 4
|
const SOURCE_ACP as string="select tblACP.* from tblACP"
const SOURCE_PATIENT as string = "select tblPatient.* from tblPatient"
const SOURCE_BLOC as string = "select tblBloc.* from tblBloc" |
dans le code du bouton reset
1 2 3 4
|
me.lstACP.Recordsource=SOURCE_ACP
me.lstIdPatient.Recordsource=SOURCE_PATIENT
me.lstBloc.Recordsource=SOURCE_BLOC |
Cela va forcer les listes à présenter toutes les valeurs disponibles.
Ensuite pour chacune des listes, il va falloir définir le SQL en fonction des choix.
à mon avis les scénarios possibles sont
Patient => ACP
Patient => BLoc
ACP => Patient
Bloc => Patient
Je ne pense pas qu'une analyse puisse déterminer un bloc mais tu devrais pouvoir adapter cet exemple en fonction de ton besoin.
Pour l'événement après MAJ de lstIdPatient
1 2
| me.lstACP.Recordsource="select tblACP * from tblACP where tblACP.[IdPatient]=" & me.lstIdPatient
me.lstBloc.Recordsource="select tblBloc * from tblACP where tblBolc.[IdPatient]=" & me.lstIdPatient |
Pour l'événement après MAJ de lstACP
me.lstIdPatient.Recordsource="select tblPatient * from tblPatient where tblPatient.[CodeACP]=" & me.lstACP
Pour l'événement après MAJ de lstBloc
me.lstIdPatient.Recordsource="select tblPatient * from tblPatient where tblPatient.[CodeBloc]=" & me.lstBloc
A+
Partager