Bonjour à tous

Faisant suite au défi Le complément de Zone de Liste en cascade,
vous trouverez dans ce message le complément du défieur : arkham46

==> Vous trouverez le complément de Dmboup en contribution sur ce message.

Vous avez également un article à votre disposition :
Concevoir une liste qui en alimente une autre

Ainsi que la FAQ :
Comment faire en sorte que le contenu d'une zone de liste déroulante dépende de la valeur d'une autre liste ?

Téléchargement du complément :
ftp://ftp-developpez.com/office/defi...steCascade.zip
Mirroir HTTP

Côté technique :
- un formulaire FrmDVPListeCascade : c'est l'interface utilisateur du complément
- un module MVariables avec quelques variables publiques (ah bon c'est pas bien?? )
- un module MFonctions qui contient la fonction de point d'entrée du complément : AssistantListeDVP
- une table USysRegInfo (table système) qui contient les informations nécessaires à l'installation du composant

Côté utilisation :
- installation : Dans le menu : Outils --> Macros complémentaires --> Gestionnaire de compléments.
Cliquez sur le bouton : Ajoutez un nouveau..., sélectionnez le fichier mda du complément à installer.
- pour access 2007, attention à la gestion de la confidentialité : http://arkham46.developpez.com/artic...plements/#LVII
- En création : Choisissez l'assistant Zone de liste liée (l'autre est l'assistant standard); l'assistant standard s'exécute puis passe la main à l'assistant de zones de liste liées
- En modification : Cliquez sur le bouton droit de la souris sur une liste puis sur l'option de menu Créer...
- Choisir la ou les zones de liste à liées avec la liste sélectionnée et choisir un champ de lien pour chaque liste.
- Le code ajouté par le complément est par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Private Sub LstMarques_AfterUpdate()
' Début asssistant zone de listes liées
Forms("Formulaire11").Controls("LstModele").RowSource = "SELECT * FROM T_Modele WHERE " & BuildCriteria("Marque", 10, Chr(34) & Nz(LstMarques.Value) & Chr(34)) & " and 1=1; "
Forms("Formulaire11").Controls("LstModele").Requery
' Fin asssistant zone de listes liées
End Sub
- Pour annuler la modification, supprimez les lignes encadrées par ' Début asssistant zone de listes liées et ' Fin asssistant zone de listes liées

Merci de ne pas poser ici de questions techniques qui ne concernent pas ce complément.