Bonjour,
Je rencontre un problème depuis plusieurs heures, et je n'arrive pas à comprendre ce qui ne marche pas dans ce que je fais.
J'ai une table REFE_COMM qui est une liste de Commissions.
Colonne ID
Colonne COMM_CODE
Colonne COMM_NOM
J'ai une sous-table REFE_MEMB_COMM qui est une liste des membres par Commission
Colonne ID2
Colonne COMM_CODE
Colonne COMM_MEMB_IDENT
Et enfin une sous-sous-table MEMB_COMM_ABS avec une liste des absences et présences des membres à chaque Commission
Colonne ID3
Colonne COMM_CODE
Colonne COMM_DATE
Colonne COMM_MEMB_IDENT
Colonne COMM_MEMB_ABS
Les tables REFE_COMM et REFE_MEMB_COMM sont reliées par COMM_CODE. Pour chaque COMM_CODE, j'ai plusieurs COMM_MEMB_IDENT.
Les tables REFE_MEMB_COMM et MEMB_COMM_ABS sont reliées par COMM_MEMB_IDENT et COMM_CODE. Pour chaque COMM_MEMB_IDENT et COMM_CODE, je peux avoir plusieurs MEMB_ABS
J'aimerai faire deux choses. Tout d'abord, dans un formulaire, j'aimerai concevoir une première liste qui en alimente une autre.
Dans ma première liste, COMM_CODE et COMM_NOM.
Quand je clique sur une COMM_CODE, une liste déroulante apparait à côté avec tous les COMM_MEMB_IDENT de la COMM_CODE
Ensuite, quand je clique sur COMM_MEMB_IDENT, un sous formulaire apparaît avec tous les enregistrements de la table MEMB_COMM_ABS correspondant au COMM_MEMB_IDENT de la COMM_CODE.
Et là, j'avoue galérer dès la première étape.
J'ai tenté de suivre ce didacticiel très bien fait : http://argyronet.developpez.com/offi...ectitemlistAB/.
- J'ai créé un formulaire vide
- J'y ai créé une première liste déroulante cmbREFE_COMM
- J'y ai créé une seconde liste déroulante cmbREFE_MEMB_COMM
- J'ai bien respecté les mêmes propriétés qu'indiquer pour les tables et les listes
- J'ai retranscris le code VBA à mon cas (où j'ai juste remplacé le Me! Par Me.)
Et là, ça ne marche pas du tout. Quand je clique sur un COMM_CODE dans cmbREFE_COMM, j'ai une ligne vide qui apparaît dans cmbREFE_MEMB_COMM, quelque soit la COMM_CODE. La deuxième liste ne s'incrémente donc pas du tout. Je n'arrive pas à comprendre pourquoi, j'y ai passé l'après midi.
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 Private Sub cmbREFE_COMM_AfterUpdate() Dim lngCOMM_CODE As Long Dim SQL As String If Not IsNumeric(Me.cmbREFE_COMM) Then Exit Sub lngCOMM_CODE = Me.cmbREFE_COMM SQL = "SELECT ID2, COMM_CODE, COMM_MEMB_IDENT FROM REFE_MEMB_COMM WHERE COMM_CODE =" & lngCOMM_CODE & " ORDER BY COMM_MEMB_IDENT" cmbREFE_MEMB_COMM.RowSource = SQL cmbREFE_MEMB_COMM.Enabled = True cmbREFE_MEMB_COMM.SetFocus cmbREFE_MEMB_COMM.Dropdown End Sub
Je suis donc preneur si vous avez une solution, ou une idée de la raison de mon blocage ?
Y a-t-il quelque chose qui ne vas pas dans mon code VBA ? Est-ce que je m'y prends mal dans la logique même de ce que je veux faire ?
Si vous avez une piste pour le seconde étape (ouverture du sous formulaire avec les MEMB_ABS lorsque je clique sur le COMM_MEMB_IDENT de la COMM_CODE concernée), je serai preneur également.
Désolé si je ne suis pas clair, n'hésitez pas à me demander plus de précisions.
Merci beaucoup
Kévin L
#Modifié suite au commentaire de madefemere
Partager