Bonjour
D'abord un grand merci à argyronet pour son tutoriel "Concevoir une liste qui en alimente une autre" qui est très bien fait.Toutefois, je n'arrive pas à obtenir ce que je désire avec - sûrement que j'ai raté une étape quelque part -
Pour entrer dans le détail :
j'ai une base de données qui gère un stock de pièces auto.
- une table nommée "marque" contient les champs "ref_marque" et "marque"
- une table nommée "modele" contient les champs "ref_modele", "modele" et "ref_marque" qui vient puiser ses informations dans la table "marque"
- une table "produit" qui contient tous les champs relatifs à ces articles
Dans le formulaire nommé "produits" et lié à la table correspondante, j'ai intégré les éléments suivants :
- une liste déroulante nommée "marque_vehicule"
avec en contenu :
"SELECT marque.ref_marque, marque.marque FROM marque ORDER BY marque.marque; "
et possédant en procédure événementielle après MAJ :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Private Sub marque_vehicule_AfterUpdate()
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!marque_vehicule) Then Exit Sub
'' Affecte la valeur de ref_marque à la variable lngIDCat
lngIDCat = Me!marque_vehicule
'' Construit la chaîne SQL avec la catégorie concernée
SQL = "SELECT ref_modele, modele, ref_marque FROM modele WHERE ref_marque =" & lngIDCat & " ORDER BY modele"
'' Affecte la chaîne SQL à la liste des métiers
modele_vehicule.RowSource = SQL
'' Déverrouille la liste des métiers
modele_vehicule.Enabled = True
'' Donne le focus la liste des métiers
modele_vehicule.SetFocus
'' Déroule la liste des métiers
modele_vehicule.Dropdown
End Sub |
- une liste déroulante nommée "modele_vehicule"
avec en contenu :
"SELECT modele.ref_modele, modele.modele, modele.ref_marque FROM modele WHERE (((modele.ref_marque)=[marque_vehicule])); "
et dont l'option "activée" est sur "non" comme indiqué dans le tutoriel
Cette liste est censée se mettre à jour et proposer les choix correspondants à la marque quand on clique dessus...
En testant, ca marche effectivement mais cela me pose deux soucis.
1 - une fois que j'ai choisi la marque, je clique sur la liste du "modele_vehicule" et il ne s'ouvre pas. Je clique à nouveau dessus et à ce moment-là il s'ouvre en m'affichant les bons choix
2 - quand j'ouvre mon formulaire et que je consulte les articles déjà existants, certains indiquent bien dans la zone non activée le modèle du véhicule et d'autres indiquent la marque dans le champs au dessus mais rien dans le champs "modele_vehicule".
N'étant pas assez calé en développement access, j'avoue que là, je cale et je ne vois pas quoi faire pour résoudre mon problème...
donc si une âme charitable peut me donner un coup de main pour résoudre ce problème
d'avance merci
Partager