Imaginons que nous ayons les zones de liste lstPays et lstVilles qui contiennent respectivement une liste de pays et une liste de villes.
Bien évidemment, lorsque nous sélectionnons un pays nous voulons que seules les villes appartenantes à ce pays n'apparaissent dans lstVille.
Nous supposons que ces deux zones de liste sont basées sur les tables TPays et TVille, et qu'elles sont dans un formulaire que nous appellerons F_Geographie.
Une fois les deux zones de liste basées sur les deux tables, nous modifierons la source de données de lstVille :
* Propriétés
* onglet Données
* Contenu :
Select TVille.ID, TVille.Nom From TVille Where TVilles.IDPays = Forms!F_Geographie.lstPays
Où ID est l'identifiant de la ville, Nom son nom et IDPays la clé étrangère contenant l'identifiant du pays auquel appartient la ville.
Et comme vous l'aurez compris, Forms!F_Geographie.lstPays fait référence à la zone de liste lstPays appartenant au formulaire F_Geographie.
Il vous reste alors à rafraîchir les données de la zone de liste lstVille lorsqu'un nouveau pays est sélectionné :
Private Sub lstPays_Change()
Me.lstVille.Requery
End Sub
Et le tour est joué ! "
Partager