Passer une valeur "null" à un critère de requete à partir d'un formulaire
3 réponses
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
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" <nospam@free.fr> a écrit dans le message de news:
echo2d$3ma$1@s1.news.oleane.net...
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
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