Bonjour,
Pour faire bref, je crée une base gérant les maintenances faites sur des appareil (sorte de MAO)
Pour un appareil, les maintenances sont classées par groupe (Maintenance informatique, calibration, etc) et chaque groupe contient plusieur taches
J'ai créé un formulaire basé sur une requête ReqAppareil (le formulaire et la requete portent le même nom) dans lequel j'ai mis un controle Multipage
Dans une de ces pages, j'ai mis deux sous formulaires en mode continu
- Le 1er (Formulaire et Requete: ReqGroupeTache) liste les groupes de maintenance, avec un bouton Filtre dans la partie Détail, et un bouton Tous dans l'entête.
- Le 2nd (Formulaire et Requete: ReqTache) liste les taches.
Le code associé au bouton Filtre est le suivant :
Le code marche et permet de filtrer les deux sous formulaire avec la valeur du champs GroupeTache/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Filtrer_Click() Dim o As Object For Each o In Form_ReqAppareil '.Controls If TypeName(o) = "SubForm" Then o.Form.Filter = "[GroupeTache]='" & GroupeTache & "'" o.Form.FilterOn = True End If Next End Sub
Le code associé au bouton Tous est le suivant:
Ce code ne marche pas et les formulaires restent filtré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Tous_Click() Dim o As Object For Each o In Form_ReqAppareil '.Controls If TypeName(o) = "SubForm" Then o.Form.Filter = Empty o.Form.FilterOn = False End If Next End Sub
Si je le remplace par
Seul 1 des deux formulaire est mis à jour, alors que je vois bien en mode débugage que les filtres sont supprimés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Tous_Click() With Forms![ReqAppareil]![ReqGroupeTache].Form .Filter = Empty .FilterOn = False End With With Forms![ReqAppareil]![ReqTache].Form .Filter = Empty .FilterOn = False End With End Sub
Je ne comprend pas du tout.
Quelqu'un aurrait une astuce pour me faire avancer ?
Merci
Partager