Valeur nul dans une requete

phillaf33 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonsoir, peux-tu partager le code SQL complet de ta requête?
0
phillaf33 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   1
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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   Statut Membre Dernière intervention   1
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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   Statut Membre Dernière intervention   1
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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   Statut Membre Dernière intervention   1
 
je l'ai utilisé avec le champs date de décès.toujours pas d'affichage
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
et en remplaçant le WHERE complet par ma suggestion?
0