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 :

[Débutant] Filtrer une zone de liste non modifiable


Sujet :

Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 166
    Points
    166
    Par défaut [Débutant] Filtrer une zone de liste non modifiable
    Bonjour,

    Mon premier message...
    Merci par avance pour l'aide que vous pourriez m'apporter !

    Dans un formulaire, j'ai une zone de liste non modifiable que je filtre à partir de plusieurs contrôles (liste déroulante modifiable, case à cocher...).

    Dans ma liste à filtrer, j'ai un champ qui peut être à : Oui, Non ou "Null".
    Je souhaite filtrer les Oui si la case est cochée, mais je souhaite tout
    voir si la case n'est pas cochée.

    J'arrive bien à filtrer les Oui, mais lorsque la case n'est pas cochée,
    rien n'apparaît (idem si à la place de la case à cocher, je mets une
    zone de texte, pour les oui, c'est OK, mais si je ne saisi rien, je ne
    vois rien du tout...).

    J'imagine que c'est tout bête, mais je n'ai rien trouvé... ou alors, j'ai vraiment mal cherché.

    J'ai une autre question, mais je vais plutôt la poser dans une autre discussion, ce sera plus clair.

    Merci encore par avance pour votre aide !

    JMarc

  2. #2
    Membre régulier

    Inscrit en
    Août 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 102
    Points : 119
    Points
    119
    Par défaut
    Citation Envoyé par jeanchcom
    J'arrive bien à filtrer les Oui
    Comment fais-tu exactement ?

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Effectivement il y a une petite subtilité.

    Dans la requête de la zone liste il faut utiliser la fonction nz() sur le champ contenant les Oui/Non/Null.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    SELECT ...... nz([RéponseOui],0) AS [Monchamp] 
    FROM Matable 
    WHERE (((nz([RéponseOui],0))=forms!form2.macase));
    Quand le champ contient Null on renvoi 0. Ce qui revient à remplacer le Null par Non (Non à la valeur 0 et Oui -1)

    Il suffit simplement de mettre l'égalité avec la case à cocher pour arriver au résultat.

    Si la case est à non (0) les champs null grace à NZ(...,0) renvoi 0 donc Non.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 166
    Points
    166
    Par défaut
    Bonjour et merci pour vos réponses.

    nz fonctionne... partiellement, surement à cause de la façon dont j'ai entré l'info car j'utilise QBE pour saisir la requête, je ne connais pas SQL, même si je commence à comprendre les notions de bases.

    En fait, je travaille sur des données importées d'un autre système qui, au lieu d'avoir un champ décision avec trois choix accord, refus, abandon, a trois champs accord, refus et abandon avec oui non ou nul dans un des trois...

    Le truc bizarre, c'est que je vois bien les oui, maintenant, je vois bien les zéros, mais je ne vois pas les non.

    Je pense que je vais faire une requête mis à jour et transformer tout cela en oui ou non uniquement.

    Merci pour votre aide !

    PS : Si vous avez une idée sur mon autre problème intitulé :
    [Débutant]Filtrer une liste déroulante en fonction d'une autre liste

    Cafeine m'a suggéré d'alloir voir la faq, ce que j'avais fait, mais je n'ai pas trouvé la réponse ou alors je ne l'ai pas comprise...

    Encore merci !

    JMarc

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Citation Envoyé par jeanchcom
    nz fonctionne... partiellement, surement à cause de la façon dont j'ai entré l'info car j'utilise QBE pour saisir la requête, je ne connais pas SQL, même si je commence à comprendre les notions de bases.
    Moi aussi et la plupart d'entre nous utilise le QBE.


    Le truc bizarre, c'est que je vois bien les oui, maintenant, je vois bien les zéros, mais je ne vois pas les non.
    Ce n'est pas ce que tu demandais à l'origine. En effet tu souhaitais voir les enregitrements à Oui lorsque la case est cochée et dans le cas contraire les enregistrement Null et à Non.

    Si maintenant tu souhaites voir les trois états (Oui, Non, Null) enlève simplement le NZ et sa fonctionnera.

    Je pense que je vais faire une requête mis à jour et transformer tout cela en oui ou non uniquement.
    Inutile de dénaturer tes données.

    PS : Si vous avez une idée sur mon autre problème intitulé :
    [Débutant]Filtrer une liste déroulante en fonction d'une autre liste

    Cafeine m'a suggéré d'alloir voir la faq, ce que j'avais fait, mais je n'ai pas trouvé la réponse ou alors je ne l'ai pas comprise...
    La réponse est effectivement dans la FAQ et dans le Forum.

    Note que cela fonctionne de la même manière que pour ton problème actuel. A savoir que dans ta requête alimentant ta liste 2 :

    WHERE Matable.Monchamp = Forms!Monform.Maliste1

    N'oublie pas le Me.Maliste2.requery sur l'événement Après MiseAjour de ta liste1.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par loufab
    Moi aussi et la plupart d'entre nous utilise le QBE.
    Ah ! Je ne pensais pas car je voyais toutes les requêtes données en SQL.




    Ce n'est pas ce que tu demandais à l'origine. En effet tu souhaitais voir les enregitrements à Oui lorsque la case est cochée et dans le cas contraire les enregistrement Null et à Non.

    Si maintenant tu souhaites voir les trois états (Oui, Non, Null) enlève simplement le NZ et sa fonctionnera.
    En fait, je voudrais voir les oui lorsque la case est cochée, les non et null lorsque la case est décochée et tous lorsque la case est grisée.


    La réponse est effectivement dans la FAQ et dans le Forum.

    Note que cela fonctionne de la même manière que pour ton problème actuel. A savoir que dans ta requête alimentant ta liste 2 :

    WHERE Matable.Monchamp = Forms!Monform.Maliste1

    N'oublie pas le Me.Maliste2.requery sur l'événement Après MiseAjour de ta liste1.
    Je n'y arrive pas, ma liste2 est vide.
    Mais je ne suis pas sûr d'avoir bien exprimé ma demande, en fait, je souhaite faire un peu l'équivalent de ce que font les filtres automatiques dans Excel, pouvoir filtrer une liste et qu'à chaque nouveau filtre, les autres filtres se recalculent tout seul. Les filtres dans mon cas étant mes listes déroulantes.
    Il faut aussi que l'utisateur puisse choisir seulement les filtres qui l'intéressent et dans l'ordre qu'il veut.

    Si tu as encore quelques secondes à m'accorder (désolé, j'espère ne pas abuser), peux-tu me mettre le lien hypertexte de la rubrique ?

    Merci encore !

    JMarc

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Voici l'article de la faq.

    http://access.developpez.com/faq/?page=zdl#DepZdl

    Comme on ne peut pas afficher toujours des copie d'écran du QBE et que sa description est un peu fastidieuse, le plus simple est d'envoyer la requete SQL générée (que tu obtiens grace à l'icone SQL de la barre d'outils Requete - celui qui te permet d'afficher le résultat).

    Vu la description que tu fais cela correspond exactement au form de recherche de caféine (dans les tutos).

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 166
    Points
    166
    Par défaut
    Bonjour et merci pour ton aide Loufab !

    Je vais réessayer la méthode de cafeine !

    Bonne journée,

    JMarc

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

Discussions similaires

  1. [AC-2000] Recherche "*" pour filtrer une zone de liste
    Par Thomas75005 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/01/2011, 08h31
  2. Filtrer une zone de liste entre deux valeurs
    Par Karmin dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 08/04/2009, 09h35
  3. Réponses: 2
    Dernier message: 21/07/2008, 14h26
  4. filtrer une zone de liste par deux champs
    Par lolothom dans le forum IHM
    Réponses: 5
    Dernier message: 15/10/2007, 10h24
  5. Zone de liste non modifiable
    Par issam16 dans le forum Access
    Réponses: 4
    Dernier message: 28/07/2006, 13h48

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