Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Passer une valeur "null" à un critère de requete à partir d'un formulaire

3 réponses
Avatar
Trewan
Bonjour,

Je fais une saisie des critères d'affichage d'une requete par 2 champs
"controle1" et "controle2" dans un formulaire "formulaire1"

Cela fonctionne bien, sauf dans le cas où je laisse vide les 2 champs,
la requête n'affiche aucun enregistrement au lieu d'afficher tous les
enregistrements

J'ai pourtant mis dans la requete :

Critère du champ1 :[Formulaires]![Formulaire1]![controle1]
Critère du champ2 :[Formulaires]![Formulaire1]![controle2]

avec
Expr 1 [Formulaires]![Formulaire1]![controle1]
"Ou" Est Null

Expr 2 [Formulaires]![Formulaire2]![controle2]
"Ou" Est Null

Ce qui correspond à l'expression SQL

SELECT [Matable].champ1, [Matable].champ2,
[Formulaires]![Formulaire1]![controle1] AS Expr1,
[Formulaires]![Formulaire1]![controle2] AS Expr2
FROM [Matable]
WHERE ((([Matable].champ1)=[Formulaires]![Formulaire1]![controle1]) AND
(([Matable].champ2)=[Formulaires]![Formulaire1]![controle1])) OR
((([Formulaires]![Formulaire1]![controle1) Is Null) AND
(([Formulaires]![Formulaire1]![controle2]) Is Null))

Mais ca ne marche pas la requête semble ignorer la condition OR

Voila, merci d'avance pour vos suggestions

Eric

3 réponses

Avatar
Eric
Bonjour,

Essaies en mettant en critere de controle1:
VraiFaux(IsNull(Forms![Formulaire1]![controle1]);[controle1];Forms![Formulaire1]![controle1])

et en critere de controle2, idem mais adapté:
VraiFaux(IsNull(Forms![Formulaire1]![controle2]);[controle2];Forms![Formulaire1]![controle2])

Normalement,
si controle1 ET controle2 renseignés, filtrage sur les 2 criteres
si controle1 OU controle2 renseigné, filtrage sur 1 seul critere
(controle1 ou controle2)
si controle1 ET controle2 non renseignés, pas de filtrage

Bonjour,

Je fais une saisie des critères d'affichage d'une requete par 2 champs
"controle1" et "controle2" dans un formulaire "formulaire1"

Cela fonctionne bien, sauf dans le cas où je laisse vide les 2 champs,
la requête n'affiche aucun enregistrement au lieu d'afficher tous les
enregistrements



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
michel
Bonjour
essaie avec
Critère du champ1 :comme [Formulaires]![Formulaire1]![controle1] & "*"
Critère du champ2 :comme [Formulaires]![Formulaire1]![controle2] & "*"
En ne repondant pas on obtient comme "*" et donc tous les enr
Michel

"Trewan" a écrit dans le message de news:
echo2d$3ma$
Bonjour,

Je fais une saisie des critères d'affichage d'une requete par 2 champs
"controle1" et "controle2" dans un formulaire "formulaire1"

Cela fonctionne bien, sauf dans le cas où je laisse vide les 2 champs, la
requête n'affiche aucun enregistrement au lieu d'afficher tous les
enregistrements

J'ai pourtant mis dans la requete :

Critère du champ1 :[Formulaires]![Formulaire1]![controle1]
Critère du champ2 :[Formulaires]![Formulaire1]![controle2]

avec
Expr 1 [Formulaires]![Formulaire1]![controle1]
"Ou" Est Null

Expr 2 [Formulaires]![Formulaire2]![controle2]
"Ou" Est Null

Ce qui correspond à l'expression SQL

SELECT [Matable].champ1, [Matable].champ2,
[Formulaires]![Formulaire1]![controle1] AS Expr1,
[Formulaires]![Formulaire1]![controle2] AS Expr2
FROM [Matable]
WHERE ((([Matable].champ1)=[Formulaires]![Formulaire1]![controle1]) AND
(([Matable].champ2)=[Formulaires]![Formulaire1]![controle1])) OR
((([Formulaires]![Formulaire1]![controle1) Is Null) AND
(([Formulaires]![Formulaire1]![controle2]) Is Null))

Mais ca ne marche pas la requête semble ignorer la condition OR

Voila, merci d'avance pour vos suggestions

Eric


Avatar
Trewan
Merci pour vos réponses