OVH Cloud OVH Cloud

probleme requete double condition

10 réponses
Avatar
BV
j'ai un probleme :
ds ma requete je pose un critère sur un champ (type numérique)
champ : ID_liste
critère et c'est là que ca se complique (je veux qu'il aille voir si ds la
liste de mon formulaire ce que j'aurais sélectionné
si sélectionné qque chose c'est ce qui me sert de critère, sinon pas de
critère)

j'ai esséy ds la ligne critère de mettre ceci :

vraifaux([Formulaires]![F_depart
requetes]![liste]pasnull;[Formulaires]![F_depart requetes]![liste];" ")

message d'accès : requête trop compliquée

merci pour votre aide

BV

10 réponses

Avatar
Raymond [mvp]
Bonsoir.

la syntaxe est :
IIf(IsNull([Formulaires]![F_depart
requetes]![liste]),[Formulaires]![F_depart requetes]![liste]," ")
VraiFaux(EstNull([Formulaires]![F_depart
requetes]![liste]);[Formulaires]![F_depart requetes]![liste];" ")
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"BV" a écrit dans le message de
news:ccu86q$ses$

j'ai un probleme :
ds ma requete je pose un critère sur un champ (type numérique)
champ : ID_liste
critère et c'est là que ca se complique (je veux qu'il aille voir si ds la
liste de mon formulaire ce que j'aurais sélectionné
si sélectionné qque chose c'est ce qui me sert de critère, sinon pas de
critère)

j'ai esséy ds la ligne critère de mettre ceci :

vraifaux([Formulaires]![F_depart
requetes]![liste]pasnull;[Formulaires]![F_depart requetes]![liste];" ")

message d'accès : requête trop compliquée

merci pour votre aide

BV





Avatar
Raymond [mvp]
.../...
je n'ai pas regardé le bien fondé de l'instruction mais je pense qu'il faut
inverser les résultats non ? si null on retourne " ".

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

la syntaxe est :
IIf(IsNull([Formulaires]![F_depart
requetes]![liste]),[Formulaires]![F_depart requetes]![liste]," ")
VraiFaux(EstNull([Formulaires]![F_depart
requetes]![liste]);[Formulaires]![F_depart requetes]![liste];" ")


Avatar
Eric
Bonjour Raymond,

Je crois qu'il faut qu'il mette dans sa requête en critère :

Comme VraiFaux([Formulaires]![F_depart
requetes]![liste] Est Pas Null;[Formulaires]![F_depart requetes]!
[liste];"*")

Ne crois-tu pas ? Car l'espace dans le cas où son champ de formulaire n'est
pas rempli affichera une requête vide voire même une erreur si pas le
comme.

PS: j'ai bien vu ton second post pour l'ordre ;-)

A+
Eric

"Raymond [mvp]" écrivait news:#vaD4rCaEHA.3524
@TK2MSFTNGP12.phx.gbl:

Bonsoir.

la syntaxe est :
IIf(IsNull([Formulaires]![F_depart
requetes]![liste]),[Formulaires]![F_depart requetes]![liste]," ")
VraiFaux(EstNull([Formulaires]![F_depart
requetes]![liste]);[Formulaires]![F_depart requetes]![liste];" ")


Avatar
Raymond [mvp]
Bonsoir Eric.

vu qu'on ne connait pas le contexte ni l'instruction sql de la requête, je
ne m'avancerai pas sur la valeur à renvoyer.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Eric" a écrit dans le message de
news:
Bonjour Raymond,

Je crois qu'il faut qu'il mette dans sa requête en critère :

Comme VraiFaux([Formulaires]![F_depart
requetes]![liste] Est Pas Null;[Formulaires]![F_depart requetes]!
[liste];"*")

Ne crois-tu pas ? Car l'espace dans le cas où son champ de formulaire
n'est

pas rempli affichera une requête vide voire même une erreur si pas le
comme.

PS: j'ai bien vu ton second post pour l'ordre ;-)

A+
Eric


Avatar
BV
Bonjour et merci pour vos réponses
lorsque j'essaie les syntaxes proposées j'ai le message
syntaxe de l'expression non correcte

j'ai essayé de faire une synthèse des deux propositions
je suis arrivé à ce qu'il me renvoie ce que j'avais choisi
ds ma liste apr contre il bloque qund je ne mets rien
il n'aime pas trop " "

bv
Avatar
BV
j'ai essayé ceci
VraiFaux([Formulaires]![F_depart requetes]![liste]=Null;"
";[Formulaires]![F_depart requetes]![liste])
ca marche quand c'est renseigné et rien quand ca ne l'est pas

j'ai remplacé le " " par comme"*" ou encore 0
pas mieux

bv
Avatar
Raymond [mvp]
Bonjour.

Le champ ID_liste doit toujours contenir une valeur donc si tu veux afficher
toutes les valeurs si le contrôle de formulaire est null, il faut mettre:
Comme "*" & [Formulaires]![F_depart requetes]![liste] & "*" ou
Comme [Formulaires]![F_depart requetes]![liste] & "*"
si pas de valeur tu auras comme "**" donc tout, sinon "*xxx*" et tu
sélectionneras tes valeurs
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"BV" a écrit dans le message de
news:ccvvn2$a89$
j'ai essayé ceci
VraiFaux([Formulaires]![F_depart requetes]![liste]=Null;"
";[Formulaires]![F_depart requetes]![liste])
ca marche quand c'est renseigné et rien quand ca ne l'est pas

j'ai remplacé le " " par comme"*" ou encore 0
pas mieux

bv




Avatar
Eric
Bonjour BV,

Si tu veux remplacer le " " par "*" il faut que tu mettes le Comme devant
la fonction VraiFaux().
De plus ton test doit être :

[Formulaires]![F_depart requetes]![liste] Est Null
et non
[Formulaires]![F_depart requetes]![liste] = Null

Ton champ de formulaire contient bien l'Id_liste dans la 1ere colonne ?

En critère dans ta requête je mettrai:

Comme VraiFaux([Formulaires]![F_depart requetes]![liste] Est Null;"*";
[Formulaires]![F_depart requetes]![liste])

Testes cette condition.

Eric

PS1: Elle marche que le champ Id_Liste soit Numérique ou Alphanumérique.
PS2: Je viens de voir la réponse de Raymond, la formulation est plus
simple, je poursuivais sur ton VraiFaux donc plus long. Dans les 2 cas tu
dois obtenir ce que tu veux.


"BV" écrivait news:ccvvn2$a89$
reader5.wanadoo.fr:

j'ai essayé ceci
VraiFaux([Formulaires]![F_depart requetes]![liste]=Null;"
";[Formulaires]![F_depart requetes]![liste])
ca marche quand c'est renseigné et rien quand ca ne l'est pas

j'ai remplacé le " " par comme"*" ou encore 0
pas mieux

bv





Avatar
BV
génial ca fonctionne
pour le bien de tous il faudrait que tu nous donnes tes jours
de congés (vacances) qu'on s'organise :)

merci encore bv
Avatar
BV
merci encore pour toutes vos contributions
B V


"Eric" a écrit dans le message news:

Bonjour BV,

Si tu veux remplacer le " " par "*" il faut que tu mettes le Comme devant
la fonction VraiFaux().
De plus ton test doit être :

[Formulaires]![F_depart requetes]![liste] Est Null
et non
[Formulaires]![F_depart requetes]![liste] = Null

Ton champ de formulaire contient bien l'Id_liste dans la 1ere colonne ?

En critère dans ta requête je mettrai:

Comme VraiFaux([Formulaires]![F_depart requetes]![liste] Est Null;"*";
[Formulaires]![F_depart requetes]![liste])

Testes cette condition.

Eric

PS1: Elle marche que le champ Id_Liste soit Numérique ou Alphanumérique.
PS2: Je viens de voir la réponse de Raymond, la formulation est plus
simple, je poursuivais sur ton VraiFaux donc plus long. Dans les 2 cas tu
dois obtenir ce que tu veux.


"BV" écrivait news:ccvvn2$a89$
reader5.wanadoo.fr:

j'ai essayé ceci
VraiFaux([Formulaires]![F_depart requetes]![liste]=Null;"
";[Formulaires]![F_depart requetes]![liste])
ca marche quand c'est renseigné et rien quand ca ne l'est pas

j'ai remplacé le " " par comme"*" ou encore 0
pas mieux

bv