Bonjour
Dans le but de faire évoluer une base de donnée (de type gestion de collections ...... Initialement mono- collection que je désire faire évolué en multi-collection) et après un certain nombre de recherches je suis tombé sur un excelent Tuto "Concevoir une liste qui en alimente une autre" (http://argyronet.developpez.com/offi...ectitemlistAB/) qui décrit et correspond exactement à mes besoins.
J'ai réalisé le Pas à Pas pour bien la comprendre avant d'implanter cette méthode dans ma propre base.
Toutefois si la méthode est opérationnelle sur un formulaire unique, mon besoin est que "cmbCatégorie" mette à jour "cmbMetiers" qui ce trouve sur un sous-formulaire (appelé "SFMetier", le formulaire accueillant "cmbCatégorie" s'appelle quand à lui "FCatégorie")
D'approche autodidacte je possède des manques dans mon approche et progresse de manière irrégulière en fonction des besoins de l'évolution des bases que je réalise. J'ai bien conscience, après un certain temps de recherche que la solution ce trouve à partir de la ligne : ...cmbMetier3.RowSource = SQL en y insérant "Forms!" .... Mais je ne suis pas arrivé à l'implanter dans cet exemple. Pourriez vous m'aider SVP.
Je vous remercie d'avance de l’intérêt que vous pourrez porter à mon problème
Cordialement
Descriptif des éléments :
Les tables : TBLCategorie (Clé primaire IDCategorie) et TBLMetier (Clé primaire IDMetier)
Les listes de choix : cmbCategorie3 et cmbMetier3
Les formulaires : FCategorie et SFMetier
Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Sub cmbCategorie3_AfterUpdate() ''SELECT TBLCategorie.IDCategorie, TBLCategorie.Categorie FROM TBLCategorie ORDER BY TBLCategorie.Categorie; ''SELECT TBLMetier.IDMetier, TBLMetier.Metier FROM TBLMetier ORDER BY TBLMetier.Metier; Dim lngIDCat As Long Dim SQL As String '' Vérifie que l'on a cliqué sur une catégorie pour éviter le NULL If Not IsNumeric(Me!cmbCategorie3) Then Exit Sub '' Affecte la valeur de IDCategorie à la variable lngIDCat lngIDCat = Me!cmbCategorie3 '' Construit la chaîne SQL avec la catégorie concernée SQL = "SELECT IDMetier, Metier, IDCategorie FROM TBLMetier WHERE IDCategorie =" & lngIDCat & " ORDER BY Metier" MsgBox "Vous venez de changer de collection" '' Affecte la chaîne SQL à la liste des métiers cmbMetier3.RowSource = SQL '' Déverrouille la liste des métiers cmbMetier3.Enabled = True '' Donne le focus la liste des métiers cmbMetier3.SetFocus '' Déroule la liste des métiers Me!cmbMetier3.Dropdown End Sub
Partager