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 :

Obtenir un triple choix oui, non, oui et non


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut Obtenir un triple choix oui, non, oui et non
    bonjour,

    J'ai un critère oui/non, pour présent/absent, mais j aimerais avoir présent ET absent, or ce critère est nécessaire disjonctif.

    Y a t il un moyen pour avoir le choix

    - Présent
    - Absent
    - Présent et absent

    (sachant que dans la table c'est une case à cocher)?

    Je pensais faire une deuxième case à cocher dans mon formulaire qui, quand elle est cochée, renvoie que le critère Présent/absent n'est pas à prendre en compte, n'existe pas.

    Style : si critère 2=-1 alors Critère 1 n'existe pas, sinon critère 1 est pris en compte, et dans ce cas on choisit soit absent soit présent.

    Est-ce possible? et dans ce cas là, puisque ce critère ne correspondrait à aucun champs mais uniquement à Cocher12, puis je l'insérer dans la requête pour pouvoir lui faire correspondre mon critère 2?

    Cuisine qui marchait pas trop quand j ai essayer...

    une idée de solution?

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    pour les cases à cocher et boutons d'options tu as la propriété triple états :

    Propriété TripleState (TripleEtat)
    Le contrôle passe d'un état à l'autre pour les valeurs Oui, Non et Null. Le contrôle est estompé (grisé) lorsque Null est attribué à sa propriété Valeur (Value).
    ça suffit peut-être avec ça...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    re,

    J'ai effectivement vu que le bouton était grisé quand j'ouvrais le fomulaire. J avoue que je n ai pas fait attention :oops:

    Cela veut-il dire que la valeur est nulle dans ce cas ? Que c'est oui ET non? Si c'est le cas c'est top.

    Mais comment peut-on faire pour juste la griser par la suite si on veut faire une nouvelle recherche?

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Cela veut-il dire que la valeur est nulle dans ce cas ?
    oui c'est null

    Que c'est oui ET non?
    Non : c'est ni oui, ni non, c'est null...
    tu testes avec la fonction isNull et si c'est Null alors tu ne mets pas de filtre

    Mais comment peut-on faire pour juste la griser par la suite
    ben tu mets la propriété TripleEtat à vrai et après quand tu cliques dessus ça cycle sur les 3 états

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    Coooooool!

    Je vais essayer.

    Merci beaucoup Arkham46!

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    attention ceci ne permettra plus de distinguer une valeur nulle d'une valeur non renseignée pour un booléen il n'y a que deux états d'information possible
    Elle est pas belle la vie ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    ***Petite question technique:

    "ben tu mets la propriété TripleEtat à vrai "

    C'est où vrai? ça veut dire quoi?

    ***Autre petite précision :

    J ai besoins d'avoir:
    -les renseignés présents (-1)
    -les renseignés absents (0)
    -et l'ensemble du personnel =absents et présents (0 et-1)

    autrement dit, il faut que le Null fasse pour moi comme s'il n'y avait pas de critère de présence (comme un critère "%") et il y aura tout le monde.

    Nb: quand je saisis, je ne peux pas avoir la valeur nulle, qqn ne peut-être que présent ou absent.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    Ca marche paaaaaaaas!

    J'ai réussis à passer en triple état sur me formulaire

    et j'ai rajouter ça dans le critère de ma requète au niveau du champs présent :

    Public Function Critere5()
    If Form_Monform.Cocher38=-1 Then
    Ctitere5 = -1
    Else
    If Form_Monform.Cocher38=0 Then
    Critere5 = 0
    Else
    Critere5 = IsNull
    EndIf
    End Function

    Mais ça ne marche pas

    Je suis débutant... si quelqu'un pouvait me donner le bon code...

  9. #9
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    ça va où critère5???

    je comprend pas ce que tu veux faire, je pensais que tu mettais à jour la propriété Filter du formulaire en fonction de la case à cocher, non?

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    Euh....
    Bon comme je suis débutant ça doit surement être un peu usine à gaz mais bon...

    Voilà, j'ai un filtre multicritère dans un formulaire qui s'ouvre avec un bouton et qui me permet d'obtenir des états filtrés avec des listes déroulantes, le tout basé sur une requête. (les états)

    Par exemple, je peux avoir les formation de sécurité, pour toutes les infirmières en 2003.

    Ce que je veux, c'est avoir les présent et les sorties. Je peux avoir les présentes, je peux avoir les sorties. Mais je ne peux pas avoir les présentes et les sorties.

    Or une fois coché, c'est soit présent, soit sorti...

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    je ne suis plus trop sur mais essaye


  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    bon... j'ai essayé et ça ne marche pas.. bouhouuu

    Faire un critère avec une fonction "si -1 dans mon form alors -1 dans ma requête" ça marche... mais quand j'ai la valeur null, ça correspond à 0, donc à absent.

    le champs sur lequel agit le critère ne peut avoir que des -1 ou 0 puisqu'une personne peut être absente ou présente, mais pas les deux).

    Je voudrait qu'il y ait 3 If (c'est possible? comment ça se codifie?):

    ***si -1 dans mon form alors -1 dans ma requète (et état filtré en conséquence)
    ***si 0 dans mon form alors 0 dans ma requête (et état filtré en conséquence)
    ***si Null dans mon form, alors le critère est inéxistant (et état filtré en conséquence, c'est à dire que les -1 et 0 s'affichent sans différenciation)

    Comment puis-je formaliser ça?

  13. #13
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Function Critere5()
    If Form_Monform.Cocher38=-1 Then
    Ctitere5 = -1
    Else
    If Form_Monform.Cocher38=0 Then
    Critere5 = 0
    Else
    Critere5 = IsNull
    EndIf
    End Function
    ça je comprend pas, ça fait quoi????

    devrait renvoyer une erreur

    Sinon -1 et 0 ça me cause pas beaucoup, tu devrais utiliser True et False c'est plus compréhensible

    Et il faudrait voir le reste : comment est utilisé Critere5?

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    ben voilà, à la base, sur ce fantasticogénial forum et ses fantasticogéniaux intevenants, j'ai apris comment faire des états filtrés à partir d'un formulaire qui contient des zone de liste déroulante.

    Je fait une requête, j'ai introduit une fonction Comme Critere1() dans mon critère, où critère 1 correspond à une fonction qui fait référence à mon champs si je le remplis. Il est considéré comme inéxistant s'il est vide.

    Sur le même principe, je voulais que les présent ou absents soient filtrés : si la valeur de Cocher est oui (Coché = -1) alors j'ai les présents ou si la valeur est non (case non cochée=0) alors j'ai les absents. Mais du coup, je ne peux plus avoir les deux: présents et absents, puisque le critère est disjonctif. Une case vide correspond à un critère, celui des personnes sorties, à la différence des zone de liste déroulante ou un critère vide indique que le critère n'est pas à prendre en compte.

    Voilà, et oui, ma fonction ne marche pas du tout, mais je voulais savoir si formellement c'est faisable?

    Une idée solution? Je ne sais pas si je sui très clair...

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 147
    Points : 172
    Points
    172
    Par défaut
    Bonsoir,
    A mon avis deux options :
    Soit tu remplace dans ton form ta case à cocher par un groupe d'options avec trois valeurs absent, presents ,tous et tu adaptes ton critère en fonction du résultat.
    Soit tu reste sur un triple état et tu gères ton filtre seulement pour un état diférent de null:
    Si vrai mise en place du filtre vrai;
    si faux mise en place du filtre faux
    si null pas de filtre.
    En espérant d'avoir aidé

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    ouiouioui!!! ça m'aide.

    Est ce que tu pourrais (je sais que j'abuse un peu) me montrer juste comment tu formalise tes trois "Si" en code dans une fonction?

    (Je sais faire If... Then mais pas avec trois choix)

    Stp.

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 147
    Points : 172
    Points
    172
    Par défaut
    re:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If test=vrai then
    action vrai
    ElseIf test = faux then
    Action faux
    Else
    action null
    EndIf
    A+

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    Merci!

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    Merci!

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    Hello,
    Hum... petit pb:)

    J'ai saisit ce code dans un module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Public Function Critere5() As Variant'
    If Form_select.Cocher50=-1 Then
              Critere5=-1
    ElseIf
              Form_select.Cocher50=0 Then
              Critere5=0
    Else
              Critere5="%"
    End If
    End Function
    Mais ça ne marche pas. "ElseIf" n'est visiblement pas accepté .

    Pourriez vous m'aider s'il vous plait et aussi, pourriez vous m'indiquer un lien où serait clairement expliqué les différentes fonctions.

    Merci d'avance :)

Discussions similaires

  1. JavaMail des fois oui et des fois non
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 08/04/2010, 17h21
  2. OUI-10133 : Zone intermédiaire non valide
    Par Commandant dans le forum Installation
    Réponses: 0
    Dernier message: 13/06/2008, 15h27
  3. Réponses: 29
    Dernier message: 13/12/2006, 12h42
  4. Afficher "Oui" pour 1 et "Non" pour 0
    Par kangourou_agile dans le forum Access
    Réponses: 3
    Dernier message: 22/08/2006, 11h13
  5. [INSTALL] OUI-10133 : Zone intermédiaire non valide
    Par wlued dans le forum Installation
    Réponses: 6
    Dernier message: 29/12/2005, 11h06

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