Requête et case à cocher

Résolu
zed1936 -  
 soso_pw -
Bonjour,

J'ai un soucis avec un critère case à cocher à mettre dans une requête...
Ma base comprend entre autres un formulaire qui liste les enregistrements et fait disparaître au fur et à mesure ceux-ci lorsque certains contrôles opèrent un filtre, dans le but de n'avoir que les enregistrements ciblés et filtrés, qui seront soit imprimés soit qui feront l'objet d'une liste xls. bref..

J'ai par exemple un contrôle qui filtre les pays:
Comme VraiFaux([Formulaires]![F_mails]![Filtrepays].[ListIndex]=-1;"*" & [Formulaires]![F_mails]![Filtrepays] & "*";[Formulaires]![F_mails]![Filtrepays])

j'ai d'autres filtres pour les continents, les villes etc.

Ma question est celle-ci: quel critère appliquer lorsque le champ contient un Oui/Non?

Merci de vos réponses !!

17 réponses

  1. Utilisateur anonyme
     
    Salut,

    je viens de regarder.

    En fait ta case à cocher "membre" n'est pas indépendante, elle a une source = StatutMembre

    Donc, forcément, tu changes dans la table.... Je pense que tu as dû tester à chaque fois avec le second enregistrement pour affirmer ce que tu disais + haut

    Aussi, il y a trop peu d'exemples dans ta base pour tester.

    A te lire.

    A+

    1
  2. zed1936 Messages postés 13 Statut Membre 2
     
    J'ai trouvé :) voici le code utilisé:
    VraiFaux(EstNull([Formulaires]![F_mails]![Checkmembre]);[StatutMembre];[Formulaires]![F_mails]![Checkmembre])

    Maintenant il m'arrive un truc bizarre: il filtre bien tous mes enregistrements membres/non membres mais semble-t-il il modifie alors ma table principale et coche délibérément toujours la même checkbox de mon enregistrement n°2 pour en faire un "membre"... savez-vous d'où cette erreur peut venir?

    merci!!
    0
  3. Utilisateur anonyme
     
    Bonjour,

    ce code, tu le mets où ?

    Il me semble "étonnant" qu'un simple SELECT d'une requête puisse modifier un champ.

    Un peu + d'explications bienvenues, ou, le mieux, crées un lien de ta base sur cjoint.com et donnes ici le lien.

    A+
    0
  4. zed1936 Messages postés 13 Statut Membre 2
     
    Voici la bdd: https://www.cjoint.com/c/FIxh1rxuOWR
    Elle est encore fort en chantier.. le formulaire impliqué est F_mails, qui se base sur le requête R_mails.. ton avis serait le bienvenu parce qu'en piochant des codes au gré des forums, sûr qu'à mon niveau je ne repère pas immédiatement les incohérences...

    quoiqu'il en soit, merci !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. zed1936
     
    voilà je comprends, c'est très clair... et logique! quand on a le nez trop dessus...
    Y aurait-il aussi un problème de ce type dans mes calculs automatiques (en rouge) du formulaire F_test? (comptage de "Membres" et "Partenaires")

    Mais déjà mille mercis, c'est très urbain de ta part de partager tes connaissances! bonne journée
    0
  7. Utilisateur anonyme
     
    Bonjour,

    je ne sais pas pour les calculs, à toi de tester, et si tu vois une incohérence, reviens nous dire laquelle.

    A+

    PS : ton souci est-il résolu ?
    0
  8. zed1936
     
    Effectivement, dans les calculs automatiques (en rouge) du formulaire F_test, "Entrées", "Emails" et "Pays" semblent corrects mais dès que je reviens au premier enregistrement (Organisme1), "Membres" et "Partenaires" reviennent à zéro...

    Maintenant je vous demande ça juste pour comprendre l'erreur.. je ne crois pas garder ces infos (trop casse gueule). Probablement que je ferai un calcul statistique automatique via requête dans un état...

    Merci!
    0
  9. Utilisateur anonyme
     
    Re,

    je n'ai pas jetté les yeux dans les requêtes,

    mais je viens de tester, et à l'ouverture du form, donc sur organisme1, on a :
    5 entrées, 4 mails, 0 membre, 0 partenaire et 10 pays.

    On passe à organisme2, on a :
    5 entrées, 4 mails, 5 membres, 0 partenaire et 10 pays. (le nombre de membres a changé)

    On revient à organisme1 :
    5 entrées, 4 mails, 0 membre, 0 partenaire et 10 pays. (le nombre de membres est de nouveau 0)

    Il est où le problème ? (je ne parle pas des résultats des calculs, mais que ceux-ci reviennent, à prori toujours aux mêmes)

    Quand Jimmy dit What'd I say 
    I love you baby 
    C'est comme qui dirait 
    Toute la province qui chante en anglais
    0
  10. zed1936
     
    Bonjour HDU,
    Je vois que les calculs, qui doivent être normalement génériques et s'appliquer à l'ensemble des enregistrements, se basent à chaque fois sur la fiche à l'écran... je vais voir comment pallier à ça..

    Puis-je encore abuser de ton temps et me filer un dernier coup de main?

    1/ Dans F_Test , les deux champs Zone et Pays sont reliés entre eux: si la zone change, d'autres pays sont proposés. OK. mais pourrais-tu me dire comment faire pour afficher le nom des pays et qu'ils restent affichés sur chaque enregistrement? La table reprend bien les pays mais le formulaire ne les affiche pas. Probablement dois-je utiliser un événement sur focus mais cela provoque un bug du fait de la relation des deux champs.

    2/ Maintenant dans le formulaire F_mails, j'ai bien à l'ouverture mes 5 organismes, mais lorsque je décoche les trois checkboxes et que je coche uniquement "membres", il en affiche 2 au lieu de 4... aurais-tu une idée?

    Mille mercis, après j'arrête :)
    0
  11. Utilisateur anonyme
     
    2/ Maintenant dans le formulaire F_mails, j'ai bien à l'ouverture mes 5 organismes, mais lorsque je décoche les trois checkboxes et que je coche uniquement "membres", il en affiche 2 au lieu de 4... aurais-tu une idée?

    Ok ouverture...

    Mais les '3', kezako ???? Je n'arrive pas à reproduire 3. Dis moi.

    A+
    0
  12. zed1936
     
    Hello, merci ça marche! je ne vois pas trop ce que tu as fait pour y arriver... tu as juste effacé les procédures événementielles?

    pour le point 2/ je me suis basé sur une mauvaise version de la DB... désolé. Voici la version où je travaille sur les checkboxes:
    http://www.cjoint.com/c/FIEn0Ogs3fR
    Je ferai la fusion des deux après

    Merci HDU pour ton aide
    0
  13. Utilisateur anonyme
     
    Re,

    tant mieux.

    Oui, tu avais des procédures vba complètement inutiles qui mettaient le binz dans la base. et j'ai modifié la requête en fonction.

    Je regarde ta base 2.0 et reviens te dire.

    A+
    0
  14. Utilisateur anonyme
     
    Re,

    je viens de jeter mes 2 yeux sur ta base 2.0.

    Une question, et je pense qu'avec cette question tu auras ta réponse (lol), en partie tout du moins : tes cases à cocher, elles sont de type AND, OR ou XOR ???????

    Je m'explique, au cas où : si je coche MEMBRE ET MEMBRE INDIRECT, on affiche quoi ? Les organismes qui ont les 2 (d'ailleurs, est ce possible dans la réalité ?) ? Les organismes qui sont soit MEMBRE, soit INDIRECT et pas les 2 en même temps ?

    A+
    0
    1. Utilisateur anonyme
       
      allo ?
      0
      1. Utilisateur anonyme > Utilisateur anonyme
         
        Je ne peux pas continuer sans avoir ta réponse. Si par exemple, je coche "MEMBRE" ET "MEMBRE INDIRECT", que dois tu filter ?

        Les organismes ayant SOIT membre, SOIT membre_indirect ? Les organismes ayant les 2 ? ou autre chose ??????

        Tchuzzz
        0
  15. zed1936
     
    Hello HDU
    Bon ok je vois l'histoire des booléens et c'est vrai que je m'en étais pas trop inquiété... je t'explique brièvement:

    dans ma table principale, j'ai entre autres 5 types de champs, tous en OUI/NON: statut, section, public, nature et type. Sachant que chacun de ces types comprennent plusieurs checkboxes, ex:

    statut: membre OU non membre OU membre indirect OU partenaire
    public: jeunes ET/OU seniors ET/OU famille ET/OU handicap
    nature: association OU fondation OU ...
    etc.

    Je pensais initialement pouvoir utiliser des listes de choix (uniques) pour ces groupes mais tu vois déjà que le groupe "public" permet plusieurs catégories de personnes.
    DONC effectivement, je crois m'être lancé dans plus fort que moi.

    Ce que je voudrais faire, en définitive, c'est de retrouver dans mon formulaire F_mails, à l'ouverture, TOUS mes enregistrements (disons 1000), puis si je coche "membre" (statut), plus que 200, puis je coche "association"(nature): plus que 70 etc...
    La difficulté, j'imagine sera aussi que l'on puisse débuter le filtrage dans un autre sens: d'abord par le public, pour n'avoir que les jeunes, puis la nature pour n'avoir que les assocs qui se centrent sur les jeunes...

    J'ai tellement envie de maîtriser la bête mais force est de constater que je surestime mes capacités... m'en vais acheter access pour les nuls

    encore merci pour ton éclairage sur la question :)
    0
  16. Utilisateur anonyme
     
    Re,

    pourquoi ne pas utiliser des zones de liste, à choix unique pour les groupes à choix simple, et à choix multiples pour les autres ????

    Car là, tu peux rencontrer des problèmes de saisie, et le jour où tu voudras rajouter un item à un groupe, cela va vite se transformer en usine à gaz...

    Si tu as besoin d'aide, n'hésites pas !

    A+
    0
    1. soso_pw
       
      Bonjour,

      Voyant que tu gères bien les questions de requêtes, je me permets de te poser cette question:

      J'ai une table Client comprenant les informations Nom, Membre etc), et une table Commande comprenant le nombre d'échantillons à analyser, le prix etc.
      J'aimerais que lorsque je coche la case "Membre" de ma table Client, le "Prix" de ma table Commande soit de 80€x le nombre d'échantillons à analyser, lorsque je ne coche pas cette case, le prix soit de 90€x le nombre d'échantillons à analyser.
      Ce prix devra s'afficher sur le formulaire, donc peut importe qu'il apparaisse ou non dans une table au préalable.

      J'ai essayé de faire cela à travers une requête mais je bloque, et dans un formulaire aussi. Dois-je crééer une table "Prix" qui servirait à cet effet?

      Je ne peux malheureusement envoyer ma base de données étant confidentielle et protégée.

      Merci infiniment,

      Soso
      0
      1. Utilisateur anonyme > soso_pw
         
        Bonjour,

        crées donc ta propre question, ça sera + simple.
        0