Bonjour.
je travaille sur un projet AC2007, malheureusement j'ai un petit problème de mise à jour de mes listes déroulantes.
d'une part, je dispose d'une table nommé tbl_emetteur.
elle contient entre autres 2 variables: nom_emetteur et poste_emetteur.
ex de la table.
nom_emetteur; poste emetteur
DUPONT; ouvrier
DUPONT; détective
DUPONT; inspecteur
MARC; O'polo
JACQUES; ousi
d'autre part se trouve mon formulaire (frm_constat_hse). Dans un premier champs, nous avons nom_emetteur.
Afin de bien différencier les émetteurs qui ont le même nom, j'ai une 2ème liste déroulante qui spécifie le poste de la personne ciblé.
Grace au post de Flakedo, a son aide et celle de Zoom61, j'ai bien progressé mais j'ai un bug que je ne saisis pas.
1er liste déroulante:
vous déroulez la liste, on voit le nom suivi du poste de chaque émetteur.
la, pas de problème, tout le monde apparait, avec le bon poste. je sélectionne un emetteur, le champs prend le nom de l'émetteur.
2ème liste déroulante:
lors du 1er passage, la liste se met correctement a jour en fonction du nom.
si je choisis MARC, je aurai uniquement O'polo en choix de poste.
si je choisis DUPONT, j'aurai les 3 postes associés "ouvrier", "inspecteur", détective";
1er bug
quand je sélectionne un poste, le champs reste vide. (quand je dis vide c'est "null" et pas "")
2ème bug, si je me suis trompé d'utilisateur. et que je rechange le nom, en passant de DUPONT a MARC, la liste de poste ne se met plus a jour.
je reste sur les 3 postes des DUPONT.
Je vous mets mon code SQL, ainsi que le code "après MAJ".
*lstdrl = liste déroulante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ##CODE lstdrl_nom_emetteur SELECT tbl_emetteur.id_emetteur, tbl_emetteur.nom_emetteur, poste_emetteur FROM tbl_emetteur ORDER BY tbl_emetteur.[nom_emetteur], tbl_emetteur.[poste_emetteur];
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ## CODE lstdrl_poste_emetteur SELECT tbl_emetteur.poste_emetteur FROM tbl.emetteur WHERE (((tbl_emetteur.nom_emetteur)= [forms]![frm_constat_hse]![lstdrl_nom_emetteur]));** si faute de syntaxe, cela vient surement de moi, j'ai du recopié le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ## AFTER UPDATE Private Sub lstdrl_nom_emetteur_AfterUpdate Me.Requery Me.refresh End Sub Private Sub lstdrl_poste_emetteur_AfterUpdate Me.Requery Me.refresh End Sub
J'espère avoir été assez clair.
ps: je vais essayer de mettre la table de relation, mais pour l'instant, j'arrive pas a m'envoyer de mail.
Merci d'avance a tous.
Partager