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

Access Discussion :

Activer/Désactiver un filtre par un bouton [AC-2010]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 39
    Points : 34
    Points
    34
    Par défaut Activer/Désactiver un filtre par un bouton
    Bonjour,

    Je chercherai à pouvoir appliquer un filtre à un formulaire. Mais ici plutôt que de cliquer sur la partie « filtre » au bas du formulaire (ce serait trop simple) je voudrais pourvoir l’activer et le désactiver en cliquant sur un bouton que j’aurai créé. Auriez-vous une idée ?

    Pour le moment je me heurte principalement sur le fait de le désactiver en appuyant sur le même bouton.

    J’aimerais pouvoir consulter l’état d’un filtre, que ce soit en VBA ou en Macro, pour ensuite le faire passer de Vrai si il était Faux et inversement. A moins bien sûr que vous ayez une autre méthode.

    Cordialement.

  2. #2
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 219
    Points : 85 103
    Points
    85 103
    Billets dans le blog
    15
    Par défaut


    Pour activer le filtre :

    Pour désactiver le filtre :


  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    Merci pour votre réponse,

    Toutefois j'ai une "erreur de compilation : membre de méthode ou de données introuvable" pour le "FilterOn"

    Voici mon code :

    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
    18
    19
    20
    21
     
    Public Sub filtre_IT()
     
    Dim db As Database
    Dim rs As Recordset
     
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Requete1")
     
    If rs.filteron = True Then
        rs.filteron = False
    Else
        rs.filteron = True
    End If
     
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
     
    End Sub
    Auriez-vous une idée sur l'origine de mon erreur ?

  4. #4
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 219
    Points : 85 103
    Points
    85 103
    Billets dans le blog
    15
    Par défaut
    Est-ce que la bibliothèque DAO est activée dans Outils/Références ?

    Essayez de déclarer votre Recordset par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim rs As DAO.Recordset

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    J'ai vérifié dans Outils/Reference, et j'ai bien "Microsoft Office 14.0 Access database engine Object Library" de coché. Est-ce la bonne.

    Voilà mon code modifié, mais l’erreur persiste :

    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
    18
    19
    20
    21
     
    Public Sub filtre_IT()
     
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
     
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Requete1")
     
    If rs.filteron = True Then
        rs.filteron = False
    Else
        rs.filteron = True
    End If
     
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
     
    End Sub

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour Jbix7 et milkoseck ,

    La méthode FilterOn s'applique à un formulaire ou à un état et non à un objet Recordset. Et l'exemple de milkoseck se rapporte à l'objet Formulaire en cours (Me).

    Maintenant Jbix7, je pense qu'il faut que tu expliques mieux ce que tu veux faire parce qu'en début de sujet, tu parles de formulaire, alors que dans ton code tu utilises un objet Recordset.

    Si on se réfère à ton premier message :
    Je chercherai à pouvoir appliquer un filtre à un formulaire. Mais ici plutôt que de cliquer sur la partie « filtre » au bas du formulaire (ce serait trop simple) je voudrais pourvoir l’activer et le désactiver en cliquant sur un bouton que j’aurai créé
    1- Tu veux avoir une zone de texte dans ton formulaire où tu peux saisir des valeurs.
    2- Quand tu appuies sur un bouton, le formulaire va être filtré.
    3- Tu veux un bouton qui permet d'annuler ce filtre.
    Est-ce que c'est cela.

    Cordialement.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    Veuillez m’excuser, je me suis emmêler les pinceaux. Je réexplique de manière moins confuse :

    Je veux que sur une requête, apparaisse ou non les entrées remplissant un critère
    (Si fields(Type_OP) = « IT1 » alors cette entrée apparait avec les autres si le filtre est désactivé, et n’apparait pas si le filtre est activé)

    Pour passer de l’un à l’autre j’avais dans l’idée d’un bouton qui lorsque l’on appui dessus active/désactive un filtre, en fonction de son état précédant.

    Une autre idée serait un bouton qui me fasse passer d’une requête (sans les entrées de type IT1) à une autre (avec les entrées de type IT1). Mais avec cette astuce je n’apprends pas grand-chose : s

  8. #8
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 219
    Points : 85 103
    Points
    85 103
    Billets dans le blog
    15
    Par défaut

    madefemere

    Citation Envoyé par madefemere Voir le message
    Bonjour Jbix7 et milkoseck ,
    La méthode FilterOn s'applique à un formulaire ou à un état et non à un objet Recordset. Et l'exemple de milkoseck se rapporte à l'objet Formulaire en cours (Me).
    Merci pour la précision.

  9. #9
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    @ Jbix7
    1- Tu crées un formulaire basé sur ta requête sans aucun filtre avec les champs dont tu as besoin.
    2- Tu ajoutes une case à cocher (c'est le seul contrôle qui possède l'état Oui/Non) nommé disons BoutonFiltre.
    3- Sur l'évènement après mise à jour de ce bouton, tu mets le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If Me.BoutonFiltre then
         Me.Filter = "Type_OP = 'IT1'"
         Me.FilterOn = True
    Else
         Me.Filter = ""
         Me.FilterOn = False
    End If
    Cordialement.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 39
    Points : 34
    Points
    34
    Par défaut Merci ^^ !
    Merci beaucoup ! Sa marche impec' !

    En plus je sais enfin utiliser les procédures événementielles (oui : il était temps !)

    Et aussi merci pour votre rapidité et vos précisions !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PPT-2010] Activer une animation uniquement par un bouton
    Par Fbertran-pro dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 07/07/2012, 10h01
  2. Activation d'une Liste déroulante par un bouton
    Par martoune dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2007, 23h28
  3. [Win32] activer/désactiver un bouton
    Par gdpasmini dans le forum MFC
    Réponses: 2
    Dernier message: 07/06/2006, 18h10
  4. Bouton d'activation/désactivation de tooltips
    Par bigboomshakala dans le forum MFC
    Réponses: 2
    Dernier message: 26/04/2004, 08h54

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