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 134
    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 134
    Points : 84 792
    Points
    84 792
    Billets dans le blog
    15
    Par défaut


    Pour activer le filtre :

    Pour désactiver le filtre :

    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  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 134
    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 134
    Points : 84 792
    Points
    84 792
    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
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  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 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    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.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  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 134
    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 134
    Points : 84 792
    Points
    84 792
    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.
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  9. #9
    Expert éminent

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    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.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  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