Valeur nul dans une requete

Fermé
phillaf33 Messages postés 41 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 18 décembre 2020 - 30 mai 2017 à 11:03
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 31 mai 2017 à 17:41
Bonjour à tous,

Je bloque sur une problème de critère sur une requête.
j'ai une valeur dans un contrôle de formulaire. j'utilise cette valeur comme critere dans une requête.j'attends comme résultats l'affichage de tout les champs répondant à mon critère. je souhaite afficher le contenu du champs même si il est null.

j'ai comme champs dans ma requête:
nom
prenom
date de deces

mon formulaire a pour contrôles:
nom
prenom
datedec

dans critère sur les champs de ma requête j'utilise une formule en fonction du contrôle exemple pour la date de décès:
VraiFaux(EstNull([Formulaires]![Rech]![Datedec]);Comme "*";[Formulaires]![Rech]![Datedec])

Par exemple,si j'utilise nom comme critère et veux afficher les champs en fonction de ce critère.
si le champs datedec de cette sélection est compété. l'ensemble des champs s'affichent

mais mon problème est si le champs est vide ...pas d'affichage

Si quelqu'un a une solution merci


.

6 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
30 mai 2017 à 22:59
bonsoir, peux-tu partager le code SQL complet de ta requête?
0
phillaf33 Messages postés 41 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 18 décembre 2020 1
31 mai 2017 à 06:47
Merci yg_be de t'intéresser à mon problème. voila le SQL:

SELECT Releve.Matricule, Releve.Nom, Releve.Prénom, Releve.[Prénom père], Releve.[Prénom mère], Releve.[Nom mère], Releve.[Lieu de naissance], Releve.[Département de naissance], Releve.[Date de naissance], Releve.[Date de décès], Releve.Cote, Releve.Note, Releve.Page, Releve.URL, Releve.Releveur
FROM Releve
WHERE (((Releve.Nom)=IIf(IsNull([Formulaires]![Rech]![nom]),[nom],[Formulaires]![Rech]![nom])) AND ((Releve.Prénom)=IIf(IsNull([Formulaires]![Rech]![prenom]),[Prénom],[Formulaires]![Rech]![prenom])) AND ((Releve.[Prénom père])=IIf(IsNull([Formulaires]![Rech]![prenompere]),[Prénom père],[Formulaires]![Rech]![prenompere])) AND ((Releve.[Prénom mère])=IIf(IsNull([Formulaires]![Rech]![prenommere]),[Prénom mère],[Formulaires]![Rech]![prenommere])) AND ((Releve.[Nom mère])=IIf(IsNull([Formulaires]![Rech]![nommere]),[Nom mère],[Formulaires]![Rech]![nommere])) AND ((Releve.[Lieu de naissance])=IIf(IsNull([Formulaires]![Rech]![commune]),[Lieu de naissance],[Formulaires]![Rech]![commune])) AND ((Releve.[Département de naissance])=IIf(IsNull([Formulaires]![Rech]![departement]),[Département de naissance],[Formulaires]![Rech]![departement])) AND ((Releve.[Date de naissance])=IIf(IsNull([Formulaires]![Rech]![Datenais]),[Date de naissance],[Formulaires]![Rech]![Datenais])) AND ((Releve.[Date de décès])=IIf(IsNull([Formulaires]![Rech]![Datedec]),[Date de décès],[Formulaires]![Rech]![Datedec])));
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
31 mai 2017 à 08:06
je pensais trouver
VraiFaux(EstNull([Formulaires]![Rech]![Datedec]);Comme "*";[Formulaires]![Rech]![Datedec]) 
dans la requête. Où est-t-il?
0
phillaf33 Messages postés 41 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 18 décembre 2020 1
31 mai 2017 à 08:53
merci yg_be. J'ai déjà essayé cette formule comme critère pour la date décès mais sur le champ est vide, les autres champs ne s'affichent pas.
Dans ma table , j'ai des enregistrements contenant des champs vides.
Si dans mon formulaire , je saisie du texte dans la zone Nom, Nom me servira de critere dans ma requete.ma requete devra afficher tous les champs consernés par mon critere même si ils sont vides.
exemple:
critere Nom = dupont
Nom =Dupont
Date de naissance = 01/01/2000
Date de deces = vide Null

De même si dans mon formulaire,je saisie du texte dans Nom et dans Date de déces, ces deux données seront mes criteres et devront afficher la ou les enregistrements concernés par ces deux criteres.
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
31 mai 2017 à 09:15
essayons de résumer:
- si le critère pour un champ est rempli (non null), tu obtiens tous les enregistrements correspondants au critère, et tu souhaites recevoir en plus les enregistrements ayant le champ correspondant null
- si le critère est vide (null), tu obtiens quoi, et tu souhaites quoi?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phillaf33 Messages postés 41 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 18 décembre 2020 1
31 mai 2017 à 09:32
chaque champs de ma table corresponds à une zone texte de mon formulaire.
j'ai 9 zones différentes dans le forms. Elles peuvent servir seule ou ou à plusieurs de critere pour ma requete. je veux obtenir les enregistrements correspondant à mon ou mes criteres même si un ou plusieurs champs de l'enregistrement sont vides.

0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
31 mai 2017 à 09:58
que donne ceci (qui remplace ce que tu as pour le nom)?
(
IsNull([Formulaires]![Rech]![nom])
OR
Releve.Nom=[Formulaires]![Rech]![nom]
OR 
IsNull(Releve.Nom)
)
0
phillaf33 Messages postés 41 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 18 décembre 2020 1
31 mai 2017 à 10:35
je l'ai utilisé avec le champs date de décès.toujours pas d'affichage
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
31 mai 2017 à 17:41
et en remplaçant le WHERE complet par ma suggestion?
0