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

Syntaxe SQL... bizarre ?

11 réponses
Avatar
Francis SLAWNY
Bonjour tout le monde.



Sous ACCESS 2003



J'ai un formulaire « TAMPON » contenant une zone de texte « ZT »

Une table « ALPHABET » avec un seul champ « Alpha» contenant les lettres de
l'alphabet.



Une requete R1 :


SELECT Alphabet.Alpha

FROM Alphabet

WHERE (((Alphabet.Alpha) Like [Formulaires]![ Tampon]![ZT] & "*"));



Une requete R2 :

SELECT Alphabet.Alpha

FROM Alphabet

WHERE (((Alphabet.Alpha)=IIf([Formulaires]![
Tampon]![ZT]<>"x",[Formulaires]![ Tampon]![ZT],(Alphabet.Alpha) Like "*")));



Je pensais que ces deux requetes devaient donner le même résultat.



R1 marche sans pb

R2 n'a pas l'air prendre en compte le cas où . <> « x » est Faux



Et-ce normal et quelqu'un sait il pourquoi ?



Merci d'avance pour une réponse.

FS

1 réponse

1 2
Avatar
Francis SLAWNY
c'était pourtant clair ce que j'avais dit ? :o))))


Bien sur en ce qui concerne le contenu. Mais il y manquait la pédagogie
capable de déclacher l'effet "HaHa" comme dirait Martin Gardner.
Et je n'avais pas tilté.
En tout cas merci
FS


"Pierre CFI" a écrit dans le message de news:
O2$
c'était pourtant clair ce que j'avais dit ? :o))))
Pierre cfi



"Francis SLAWNY" a écrit dans le message de
news:
OK, merci. Je crois que j'ai compris.
FS

"Eric" a écrit dans le message de news:

.../...


Je me demande toujours pourquoi l'autre forme ne marchait pas.


Comme te l'a indiqué PierreCFI ta clause Where devient quand le test est
faux:
WHERE Alphabet.Alpha=Alphabet.Alpha Like "*"
qui n'est pas valable syntaxiquement.


Cela doit être Where Alphabet.Alpha Like "*"
Tu ne peux pas avoir l'opérateur de comparaison (=) suivi de l'opérateur
Like.
Rien ne peut être Egal à un Comme, sans vouloir être moralisateur ;-)
C'est soit l'un soit l'autre.
--
A+
Eric
http://www.mpfa.info/
Archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr











1 2