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

Requêtes et SQL. Discussion :

Critère de requête : Comme avec comme réponse Est Null / Est Pas Null / * [AC-2007]


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut Critère de requête : Comme avec comme réponse Est Null / Est Pas Null / *
    Bonjour,

    J'ai une requête Access qui va chercher des valeurs de critère pour certains champs en utilisant le code de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme [Forms]![Formulaire Sylvie (Divers)]![Modifiables69]
    Et cela fonctionne très bien pour les champs ou la réponse est soit 0,1,2 ou encore du texte du style "Laurent","Juin"...


    Mon problème, j'ai un "Comme sur le critère d'un champ date, ou j'aimerais choisir "Est Null" ou "Est Pas Null" ou Tout afficher

    Dans mon formulaire Formulaire Sylvie (Divers), j'ai donc créer une liste déroulante Modifiable69, avec comme valeur "Est Null","Est Pas Null", "*"

    Mais cela ne fonctionne pas ! J'ai l'impression que le comme n'accepte pas ces valeurs...

    Pourriez-vous m'éclairer ?

    Grand merci :-)

    EDIT
    Je viens d'essayer cela, mais non...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIF (Comme [Forms]![Formulaire Sylvie (Divers)]![Modifiables69]="Est Null";Est Null;IIF(Comme [Forms]![Formulaire Sylvie (Divers)]![Modifiables69]="Est Pas Null";Est Pas Null;"*"))

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,

    Explique plutôt – avec des mots et non du code – ce que tu veux faire dans ton formulaire. Il y a probablement mieux à faire que ta liste déroulante !

    Pour t'aider à expliquer, montre une image de ton formulaire.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    Bonjour,

    J'ai une requête avec plusieurs champs [NOM], [NOMBRE ENFANTS], [DATE DE DECES]...

    Pour éviter que l'utilisateur édite la requête pour par exemple n'afficher que les personnes ayant 3 enfants, j'utilise en amont un formulaire qui lui demande les différents critères. j'ai par exemple sur ce formulaire une liste déroulante avec des chiffres allant de 0 à 6 pour le nombre d'enfants, donc si l'utilisateur sélectionne 3 et lance la requête, le résultat affichera les noms des personnes ayant 3 enfants. Et jusque là, tout va bien :-)

    Mon problème se situe au niveau de la date de décès...

    Pour n'afficher que les personnes 'vivante', je tape comme critère du champ [DATE DE DECES] : Est Null et évidemment si je ne veux que les décédés, je tape comme critère : Est Pas Null, et si je veux tout, je ne rentre rien comme critère.

    Mais j'aimerais aussi que l'utilisateur puisse choisir de lui même, donc en créant une liste déroulante sur le formulaire avec comme valeur "Est Null", "Est Pas Null" et "*", mais je n'y arrive pas, cela ne fonctionne pas ?!

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Je suppose que [DATE DE DECES] contient une date sa valeur est soit une date (si malheurement il est décédé), soit 00:00:00 (s'il est encore en sursis) tu dois donc demander si la valeur est #00:00:00# dans ton critère.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    Non, si la personne est décédée, il y a effectivement une date, autrement RIEN... donc je dois jouer avec des Est Null, Est Pas Null

    Ps : La base de données est importante, donc impossible de changer le format de la date...

  6. #6
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour,

    Essaie avec une expression qui teste le champ [DATE DE DECES] différemment selon le contenu de la liste modifiable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PremVrai([Forms]![Formulaire Sylvie (Divers)]![Modifiable69]="Est Null"; EstNull([DATE DE DECES]);
             [Forms]![Formulaire Sylvie (Divers)]![Modifiable69]="Est Pas Null"; Pas EstNull([DATE DE DECES]);
             Vrai; Vrai)
    Ensuite mettre Vrai comme critère dans la colonne de cette expression.

    L'expression prend en charge trois cas de figures, dans cet ordre:
    Si Modifiable69 contient "Est Null", on teste le champ [DATE DE DECES] avec la fonction EstNull.
    Si Modifiable69 contient "Est Pas Null", on teste le champ [DATE DE DECES] avec la fonction EstNull dont on inverse le résultat avec Pas.
    Enfin, si on n'est dans aucun des deux cas précédents, on renvoie Vrai (pour le cas "*").

    A+

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/05/2012, 09h48
  2. Requête sql avec jointure et table vide (ou tuple nulle)
    Par Aenur56 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 29/04/2010, 14h10
  3. Requête sélection avec comme critère: champ vide
    Par droxyme dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/10/2007, 10h24
  4. Requête avec comme critère de recherche un %
    Par Poussy-Puce dans le forum Langage SQL
    Réponses: 1
    Dernier message: 23/03/2006, 20h15
  5. Requête SQL avec une réponse unique
    Par Glutinus dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/07/2005, 16h35

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