IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Filtre et suppression de filtre de sous formulaires


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut Filtre et suppression de filtre de sous formulaires
    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 :

    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 marche et permet de filtrer les deux sous formulaire avec la valeur du champs GroupeTache/


    Le code associé au bouton Tous est le suivant:

    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
    Ce code ne marche pas et les formulaires restent filtré.

    Si je le remplace par

    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
    Seul 1 des deux formulaire est mis à jour, alors que je vois bien en mode débugage que les filtres sont supprimés.

    Je ne comprend pas du tout.
    Quelqu'un aurrait une astuce pour me faire avancer ?

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Je pense que le .filter=empty ne sert à rien du moment que tu mets le .FilterOn = false mais il ne devrait pas géner non plus.

    Essaye d'ajouter pour forcer un rafraissement de l'écran.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut
    Merci pour le coup de main.
    J'ai déjà essayé les Refresh, Repaint, Recalc et Requery.
    Rien n'y fait !!!
    Tout ce passe comme si on ne pouvait pas supprimer le filtre de plus d'un sous formulaire.
    Pour ne pas perdre de temps (j'ai du y passer plus de trois heures), j'ai changé de stratégie. Je ne filtre et défiltre que le formulaire de tache, sans toucher au formulaire de groupe, et je modifie un label (Caption et ForeColor) pour montrer qu'il est filtré.
    Mais quand même, que de temps perdu pour une broutille !!!
    Encore merci

Discussions similaires

  1. filtre d'un champ dans le sous formulaire de devis
    Par gnomathibus dans le forum Odoo (ex-OpenERP)
    Réponses: 10
    Dernier message: 09/12/2013, 15h09
  2. Filtre dans un sous-formulaire
    Par moto25 dans le forum IHM
    Réponses: 14
    Dernier message: 10/11/2005, 09h16
  3. Réponses: 2
    Dernier message: 13/10/2005, 14h24
  4. Pb filtre sous-formulaire
    Par fabrice518 dans le forum Access
    Réponses: 3
    Dernier message: 08/09/2005, 17h11
  5. Action sur sous-formulaire filtré
    Par thevenix dans le forum IHM
    Réponses: 4
    Dernier message: 20/06/2005, 00h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo