Bonjour,
Pour ceux que cela intéresse :
Problème :
Il faut actualiser les listes déroulantes dont l’une (Modifiable1) est intégrée dans le formulaire principal, l’autre (Modifiable2) dans le sous formulaire lié au formulaire principal.
L’actualisation est réalisable lorsque j’utilise la touche de fonction « F9 » du clavier avant de passer à la liste déroulante du sous formulaire. Ce qui est peu pratique.
Ci-dessous le code que j’utilise pour solutionner le problème :
La méthode Requery est sollicitée.
Code SQL du Modifiable1 intégré au formulaire principal
Code VBA du Modifiable1 intégré au formulaire principal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT [1TblBank].IdBank, [1TblBank].BankName FROM 1TblBank;
==============================================
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Modifiable1_AfterUpdate() ' Rechercher l'enregistrement correspondant au contrôle. Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[IdBank] = " & Str(Nz(Me![Modifiable1], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark Forms![1FrmBank]![1FrmTypAccount]!Modifiable2.Requery Modifiable du sous formulaire End Sub
Code SQL du Modifiable2 intégré au sous formulaire
Code VBA du Modifiable2 intégré au sous formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT [1TblTypAccount].IdTypAccount, [1TblTypAccount].TypAccount, [1TblTypAccount].IdBank FROM 1TblTypAccount WHERE ((([1TblTypAccount].IdBank)=[Forms]![1FrmBank]![IdBank]));
La liste déroulante Modifiable2 (sous formulaire) est actualisée à chaque sélection d’un élément de la liste déroulante Modifiable1 (formulaire principal)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Modifiable2_AfterUpdate() ' Rechercher l'enregistrement correspondant au contrôle. Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[IdTypAccount] = " & Str(Nz(Me![Modifiable2], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark End Sub
Bonne semaine.
Partager