Bonjour,
J'ai un problème au niveau de mise à jour d'une listbox après un afterupdate.
Le nom des différente liste est en allemand car j'effectue mon travail de master en Allemagne. Il s'agit de faire une base de donnée contenant des pieces (Bauteil) et de relié ces pièces à leur fonctions (Bauteil_Funktion). On selectionne dans la 1ere liste déroulante, le nom de la piece, et dans la deuxième liste déroulante doit se trouver les fonctions associées à cette piéces:
Pour cela, j'ai utilisé le tutoriel (très bien fait d'ailleurs) suivant:
http://argyronet.developpez.com/offi...ectitemlistAB/
Jusque là aucun problème. Tout marche comme souhaité.
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
22
23
24
25
26
27
28 Private Sub cmbBauteil_AfterUpdate() Dim lngBauteil_NUM As Long Dim SQL As String Dim SQL_B_to_BF As String '' Vérifie que l'on a cliqué sur une Bauteil pour éviter le NULL If Not IsNumeric(Me.cmbBauteil) Then Exit Sub '' Affecte la valeur de IDBauteil à la variable lngBauteil_NUM lngBauteil_NUM = Me.cmbBauteil '*************************************************************' '* Mets à jour le champ Bauteil_Funktion à partir de Bauteil *' '* Das Bauteil_Funktion-Feld aus Bauteil-Feld zu updaten *' '*************************************************************' '' Construit la chaîne SQL selectionant les Bauteil_Funktion SQL_B_to_BF = "SELECT TBL_Bauteil_Funktion.IDBauteil_Funktion, TBL_Bauteil_Funktion.NameBauteil_Funktion, " & _ "LK_Bauteil_Bauteil_Funktion.IDBauteil_Funktion FROM TBL_Bauteil_Funktion " & _ "INNER JOIN LK_Bauteil_Bauteil_Funktion ON TBL_Bauteil_Funktion.IDBauteil_Funktion=LK_Bauteil_Bauteil_Funktion.IDBauteil_Funktion " & _ "WHERE LK_Bauteil_Bauteil_Funktion.IDBauteil =" & lngBauteil_NUM & " ORDER BY TBL_Bauteil_Funktion.IDBauteil_Funktion" '' Affecte la chaîne SQL à la liste des Bauteil_Funktion cmbBauteil_Funktion.RowSource = SQL_B_to_BF '' Donne le focus la liste des Bauteil_Funktion cmbBauteil_Funktion.SetFocus '' Déroule la liste des Bauteil_Funktion cmbBauteil_Funktion.Dropdown
Ensuite, j'aimerai mettre à jour des listBox avec les informations spécifiques à chaque pièces (son prix, son materiau, etc...) donc mettre à jour ceux-ci après le choix dans la 1ère liste déroulante:
Dans cette partie, j'essaie de mettre à jour la list box Verwandungszweck (utilisation) avec le champ du même nom provenant de la table pièce (Bauteil) et cela ne marche pas du tout! Il ne s'affiche rien, je sais pas si cela provient de la requête SQL, (mais je l'ai testée en mode requête et cela marchait)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 '************************************************' '* Mets à jour les champs sous le champ Bauteil *' '* Die Felden unten das Bauteil-Feld zu updaten *' '************************************************' '' Mets à jour les champ correspondant à la selection lsbB_Verwandungszweck.RowSourceType = "Table/Requête" SQL = "SELECT TBL_Bauteil.IDBauteil, TBL_Bauteil.Verwandungszweck WHERE (((TBL_Bauteil.IDBauteil) = " & lngBauteil_NUM & ")) " lsbB_Verwandungszweck.RowSource = SQL MsgBox ("lsbB_Verwandungszweck.ItemData(0) après " & lsbB_Verwandungszweck.ItemData(0)) End Sub
C'est surement un truc stupide mais je viens de commencer la programmation VBA ainsi que la gestion de base de donnée
Voilà, j'espère que vous comprendrez mon problème
Pour info, je travaille avec deux ordis un access 2002 et un access 2007 ou j'ai importé la base de donnée de 2002, cela marche tjs sur les deux machines..
Meilleures salutations
Partager