Bonjour,
J'ai un formulaire contenant 3 sous formulaires(SForm1, SFrom2 et SForm3) qui sont tous liés au formulaire Form1.
Les sous formulaires sont affichés en mode feuille de données.
Sur l'évènement clic() du SForm1, je filtre les autres sous formulaires, voici le code :
Cela fonctionne parfaitement, le problème surviens lorsque je veux retirer ces filtres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub Form_Click() Dim filtre As Integer filtre = Forms.Form1.SForm1.Form.txtID_CLIENT.value Forms.Form1.SForm2.Form.Filter = "[ID_CLIENT] = " & filtre Forms.Form1.SForm2.Form.FilterOn = True Forms.Form1.SForm3.Form.Filter = "[ID_CLIENT] = " & filtre Forms.Form1.SForm3.Form.FilterOn = True End Sub
J'ai créé un bouton SuppFiltre dans mon Formulaire sur lequel j'ai placé ce code
Le résultat : SForm3 affiche bien tous les enregistrements mais SForm2 reste filtré même si... dans le cadre en bas à gauche à côté des flèche de déplacement il n'est plus indiqué "(filtré)"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub CmdSuppFiltre_Click() Me.SForm3.Form.FilterOn = False Me.SForm3.Form.Requery Me.SForm2.Form.FilterOn = False Me.SForm2.Form.Requery End Sub
Dans ce code si j'inverse que je retire le filtre de SForm3 puis celui de SForm2 j'obtiens l'inverse : SForm2 affiche tous les enregistrement mais pas SForm3.
Si je remplace la méthode Requery par RecordSource cela fonctionne mais je ne comprend pas pourquoi un "simple" Requery ne fait pas l'affaire.
Une idée?
Partager