OVH Cloud OVH Cloud

Passage de critères de formulaire à requete

2 réponses
Avatar
Stef
Bonjour ...


Voici mon petit souci :
Je souhaite passer le contenu de zones de texte d'un formulaire indépendant
comme critères dans une requete.
exemple :

ChampDeRequete1
critère :
[Formulaires]![FormulaireAccueil]![contrôleA]

ET

ChampDeRequete2
critère :
[Formulaires]![FormulaireAccueil]![contrôleB]

si je saisi les données dans FormulaireAccueil dans les deux controles tout
va bien ... mais si par exemple je ne rempli pas contrôleB je n'obtiens
aucun résultat à ma requete car j'imagine que c'est un "Vide" ou un "Null"
qui est transmis en tant que critère ... et dans cet exemple je voudrais que
la requete se limite à

ChampDeRequete1
critère :
[Formulaires]![FormulaireAccueil]![contrôleA]

Il y a peut etre une solution simple ???

Merci !

2 réponses

Avatar
Raymond [mvp]
Bonjour.

tuy peux essayer:
SELECT Table1.Pays, Table1.Région
FROM Table1
WHERE (((Table1.ChampDeRequete1) Like
[Formulaires]![FormulaireAccueil]![contrôleA] & "*") AND
((Table1.ChampDeRequete2) Like [Formulaires]![FormulaireAccueil]![contrôleB]
& "*"));
ce qui aura pour effet de prendre tous les enregistrements si la valeur est
Null dans le formulaire
tu peux faire aussi:
SELECT Table1.Pays, Table1.Région
FROM Table1
WHERE (((Table1.Pays) Like
IIf(IsNull([Formulaires]![Formulaire1]![contrôleA]),"*",[Formulaires]![Formulaire1]![contrôleA]
& "*")) AND ((Table1.Région) Like
IIf(IsNull([Formulaires]![Formulaire1]![contrôleB]),"*",[Formulaires]![Formulaire1]![contrôleB]
& "*")));

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Stef" a écrit dans le message de news:
428a250a$0$25056$
Bonjour ...


Voici mon petit souci :
Je souhaite passer le contenu de zones de texte d'un formulaire
indépendant
comme critères dans une requete.
exemple :

ChampDeRequete1
critère :
[Formulaires]![FormulaireAccueil]![contrôleA]

ET

ChampDeRequete2
critère :
[Formulaires]![FormulaireAccueil]![contrôleB]

si je saisi les données dans FormulaireAccueil dans les deux controles
tout
va bien ... mais si par exemple je ne rempli pas contrôleB je n'obtiens
aucun résultat à ma requete car j'imagine que c'est un "Vide" ou un "Null"
qui est transmis en tant que critère ... et dans cet exemple je voudrais
que
la requete se limite à

ChampDeRequete1
critère :
[Formulaires]![FormulaireAccueil]![contrôleA]

Il y a peut etre une solution simple ???

Merci !




Avatar
Stef
Bon le pb de la premiere solution c'est que le like ... & "*" me prends
forcement des données supplémentaires ... pareil dans le deuxieme cas sauf
si je retire les ' & "*" '

SELECT Table1.Pays, Table1.Région
FROM Table1
WHERE (((Table1.Pays) Like
IIf(IsNull([Formulaires]![Formulaire1]![contrôleA]),"*",[Formulaires]![Formu
laire1]![contrôleA])) AND ((Table1.Région) Like
IIf(IsNull([Formulaires]![Formulaire1]![contrôleB]),"*",[Formulaires]![Formu
laire1]![contrôleB])))

et là ça fonctionne nickel ...

Merci de ton aide

"Raymond [mvp]" a écrit dans le message de
news:%23a$
Bonjour.

tuy peux essayer:
SELECT Table1.Pays, Table1.Région
FROM Table1
WHERE (((Table1.ChampDeRequete1) Like
[Formulaires]![FormulaireAccueil]![contrôleA] & "*") AND
((Table1.ChampDeRequete2) Like
[Formulaires]![FormulaireAccueil]![contrôleB]

& "*"));
ce qui aura pour effet de prendre tous les enregistrements si la valeur
est

Null dans le formulaire
tu peux faire aussi:
SELECT Table1.Pays, Table1.Région
FROM Table1
WHERE (((Table1.Pays) Like

IIf(IsNull([Formulaires]![Formulaire1]![contrôleA]),"*",[Formulaires]![Formu

laire1]![contrôleA]
& "*")) AND ((Table1.Région) Like

IIf(IsNull([Formulaires]![Formulaire1]![contrôleB]),"*",[Formulaires]![Formu

laire1]![contrôleB]
& "*")));

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Stef" a écrit dans le message de news:
428a250a$0$25056$
Bonjour ...


Voici mon petit souci :
Je souhaite passer le contenu de zones de texte d'un formulaire
indépendant
comme critères dans une requete.
exemple :

ChampDeRequete1
critère :
[Formulaires]![FormulaireAccueil]![contrôleA]

ET

ChampDeRequete2
critère :
[Formulaires]![FormulaireAccueil]![contrôleB]

si je saisi les données dans FormulaireAccueil dans les deux controles
tout
va bien ... mais si par exemple je ne rempli pas contrôleB je n'obtiens
aucun résultat à ma requete car j'imagine que c'est un "Vide" ou un
"Null"


qui est transmis en tant que critère ... et dans cet exemple je voudrais
que
la requete se limite à

ChampDeRequete1
critère :
[Formulaires]![FormulaireAccueil]![contrôleA]

Il y a peut etre une solution simple ???

Merci !