OVH Cloud OVH Cloud

ADO(X) ESCAPE fonctionne t-il ?

19 réponses
Avatar
Emcy
bonjour,

à l'aide d'excel, j'effectue une requete ADO sur une BDD Access voici ma
Requete :
"SELECT GPAO FROM COMPOSANTS WHERE GPAO LIKE 'a%' ESCAPE '#'"

le probleme est que une erruer durant l'execution de la requete (si j'enleve
ESCAPE '#'", je n'ai plus d'erreur)
=> est-ce que ça veut dire qu'acces ne reconnait pas ESCAPE ? par quoi
faut-il le remplacer ?

10 réponses

1 2
Avatar
michdenis
Bonjour Emcy,


'a%' ESCAPE '#'"

J'aurais plutot écris :

LIKE " & "'a*ESCAPE*'" & ""

Selon l'application où tu adresses ta requête,
le joker peut être "*" ou "%"



Salutations!




"Emcy" a écrit dans le message de news: %
bonjour,

à l'aide d'excel, j'effectue une requete ADO sur une BDD Access voici ma
Requete :
"SELECT GPAO FROM COMPOSANTS WHERE GPAO LIKE 'a%' ESCAPE '#'"

le probleme est que une erruer durant l'execution de la requete (si j'enleve
ESCAPE '#'", je n'ai plus d'erreur)
=> est-ce que ça veut dire qu'acces ne reconnait pas ESCAPE ? par quoi
faut-il le remplacer ?
Avatar
Emcy
je comprend pas ta reponse ....
est-ce que tu as bien compris ma question ?
ESCAPE est une commande SQL : je pensais qu'elle devait fonctionner avec
access (si qui visiblement n'est pas le cas) :
http://www.allprog.com/SQL/AstuceLike.htm
=> par quoi la remplacer

autre exemple
"SELECT MaColonne FROM MaTable WHERE MaColonne LIKE 'a#%%' ESCAPE '#'"
=> recherche tous les champs commençant par a et finissant par %



"michdenis" a écrit dans le message de news:
%
Bonjour Emcy,


'a%' ESCAPE '#'"

J'aurais plutot écris :

LIKE " & "'a*ESCAPE*'" & ""

Selon l'application où tu adresses ta requête,
le joker peut être "*" ou "%"



Salutations!




"Emcy" a écrit dans le message de news:
%
bonjour,

à l'aide d'excel, j'effectue une requete ADO sur une BDD Access voici ma
Requete :
"SELECT GPAO FROM COMPOSANTS WHERE GPAO LIKE 'a%' ESCAPE '#'"

le probleme est que une erruer durant l'execution de la requete (si
j'enleve
ESCAPE '#'", je n'ai plus d'erreur)
=> est-ce que ça veut dire qu'acces ne reconnait pas ESCAPE ? par quoi
faut-il le remplacer ?





Avatar
Emcy
petite erreur sur mon exemple :
"SELECT MaColonne FROM MaTable WHERE MaColonne LIKE 'a#%%' ESCAPE '#'"
=> recherche tous les champs commençant par a%

"Emcy" a écrit dans le message de news:
uy8pI%
je comprend pas ta reponse ....
est-ce que tu as bien compris ma question ?
ESCAPE est une commande SQL : je pensais qu'elle devait fonctionner avec
access (si qui visiblement n'est pas le cas) :
http://www.allprog.com/SQL/AstuceLike.htm
=> par quoi la remplacer

autre exemple
"SELECT MaColonne FROM MaTable WHERE MaColonne LIKE 'a#%%' ESCAPE '#'"
=> recherche tous les champs commençant par a et finissant par %



"michdenis" a écrit dans le message de news:
%
Bonjour Emcy,


'a%' ESCAPE '#'"

J'aurais plutot écris :

LIKE " & "'a*ESCAPE*'" & ""

Selon l'application où tu adresses ta requête,
le joker peut être "*" ou "%"



Salutations!




"Emcy" a écrit dans le message de news:
%
bonjour,

à l'aide d'excel, j'effectue une requete ADO sur une BDD Access voici ma
Requete :
"SELECT GPAO FROM COMPOSANTS WHERE GPAO LIKE 'a%' ESCAPE '#'"

le probleme est que une erruer durant l'execution de la requete (si
j'enleve
ESCAPE '#'", je n'ai plus d'erreur)
=> est-ce que ça veut dire qu'acces ne reconnait pas ESCAPE ? par quoi
faut-il le remplacer ?









Avatar
michdenis
Je n'ai jamais utilsé cette commande "escape" dans Access...
Il n'existe pas seulement une "version" de SQL.

| recherche tous les champs commençant par a et finissant par %

Un truc ressemblant à ceci devrait suffire !

LIKE 'a*%' "


Salutations!



"Emcy" a écrit dans le message de news: uy8pI%
je comprend pas ta reponse ....
est-ce que tu as bien compris ma question ?
ESCAPE est une commande SQL : je pensais qu'elle devait fonctionner avec
access (si qui visiblement n'est pas le cas) :
http://www.allprog.com/SQL/AstuceLike.htm
=> par quoi la remplacer

autre exemple
"SELECT MaColonne FROM MaTable WHERE MaColonne LIKE 'a#%%' ESCAPE '#'"
=> recherche tous les champs commençant par a et finissant par %



"michdenis" a écrit dans le message de news:
%
Bonjour Emcy,


'a%' ESCAPE '#'"

J'aurais plutot écris :

LIKE " & "'a*ESCAPE*'" & ""

Selon l'application où tu adresses ta requête,
le joker peut être "*" ou "%"



Salutations!




"Emcy" a écrit dans le message de news:
%
bonjour,

à l'aide d'excel, j'effectue une requete ADO sur une BDD Access voici ma
Requete :
"SELECT GPAO FROM COMPOSANTS WHERE GPAO LIKE 'a%' ESCAPE '#'"

le probleme est que une erruer durant l'execution de la requete (si
j'enleve
ESCAPE '#'", je n'ai plus d'erreur)
=> est-ce que ça veut dire qu'acces ne reconnait pas ESCAPE ? par quoi
faut-il le remplacer ?





Avatar
Emcy
je sais que ça, ça marche mais le probleme est : comment faire pour
recherché une cahine commençant par les caratère "A*"
=> vu que normalement "*" est un caractère de recherche, je ne vois pas
comment faire (d'où normalement l'utilisation de ESCAPE)...


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

Je n'ai jamais utilsé cette commande "escape" dans Access...
Il n'existe pas seulement une "version" de SQL.

| recherche tous les champs commençant par a et finissant par %

Un truc ressemblant à ceci devrait suffire !

LIKE 'a*%' "


Salutations!



"Emcy" a écrit dans le message de news:
uy8pI%
je comprend pas ta reponse ....
est-ce que tu as bien compris ma question ?
ESCAPE est une commande SQL : je pensais qu'elle devait fonctionner avec
access (si qui visiblement n'est pas le cas) :
http://www.allprog.com/SQL/AstuceLike.htm
=> par quoi la remplacer

autre exemple
"SELECT MaColonne FROM MaTable WHERE MaColonne LIKE 'a#%%' ESCAPE '#'"
=> recherche tous les champs commençant par a et finissant par %



"michdenis" a écrit dans le message de news:
%
Bonjour Emcy,


'a%' ESCAPE '#'"

J'aurais plutot écris :

LIKE " & "'a*ESCAPE*'" & ""

Selon l'application où tu adresses ta requête,
le joker peut être "*" ou "%"



Salutations!




"Emcy" a écrit dans le message de news:
%
bonjour,

à l'aide d'excel, j'effectue une requete ADO sur une BDD Access voici ma
Requete :
"SELECT GPAO FROM COMPOSANTS WHERE GPAO LIKE 'a%' ESCAPE '#'"

le probleme est que une erruer durant l'execution de la requete (si
j'enleve
ESCAPE '#'", je n'ai plus d'erreur)
=> est-ce que ça veut dire qu'acces ne reconnait pas ESCAPE ? par quoi
faut-il le remplacer ?










Avatar
michdenis
Bonjour Emcy,

Pour access :

Si tu veux rechercher spécifiquement tous les expressions dont
la première lettre est le a la deuxième lettre est le *

Like 'A[*]*'"

Si tu veux obtenir tous les mots débutant par a mais qui n'ont pas
l'étoile comme seconde lettre :

Cette expression fait fi des autres caractères possibles autres
que les lettres de l'alphabet ou des chiffres se
situant en deuxième position....

Like 'A[a-z,0-9]*'"


Salutations!





"Emcy" a écrit dans le message de news:
je sais que ça, ça marche mais le probleme est : comment faire pour
recherché une cahine commençant par les caratère "A*"
=> vu que normalement "*" est un caractère de recherche, je ne vois pas
comment faire (d'où normalement l'utilisation de ESCAPE)...


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

Je n'ai jamais utilsé cette commande "escape" dans Access...
Il n'existe pas seulement une "version" de SQL.

| recherche tous les champs commençant par a et finissant par %

Un truc ressemblant à ceci devrait suffire !

LIKE 'a*%' "


Salutations!



"Emcy" a écrit dans le message de news:
uy8pI%
je comprend pas ta reponse ....
est-ce que tu as bien compris ma question ?
ESCAPE est une commande SQL : je pensais qu'elle devait fonctionner avec
access (si qui visiblement n'est pas le cas) :
http://www.allprog.com/SQL/AstuceLike.htm
=> par quoi la remplacer

autre exemple
"SELECT MaColonne FROM MaTable WHERE MaColonne LIKE 'a#%%' ESCAPE '#'"
=> recherche tous les champs commençant par a et finissant par %



"michdenis" a écrit dans le message de news:
%
Bonjour Emcy,


'a%' ESCAPE '#'"

J'aurais plutot écris :

LIKE " & "'a*ESCAPE*'" & ""

Selon l'application où tu adresses ta requête,
le joker peut être "*" ou "%"



Salutations!




"Emcy" a écrit dans le message de news:
%
bonjour,

à l'aide d'excel, j'effectue une requete ADO sur une BDD Access voici ma
Requete :
"SELECT GPAO FROM COMPOSANTS WHERE GPAO LIKE 'a%' ESCAPE '#'"

le probleme est que une erruer durant l'execution de la requete (si
j'enleve
ESCAPE '#'", je n'ai plus d'erreur)
=> est-ce que ça veut dire qu'acces ne reconnait pas ESCAPE ? par quoi
faut-il le remplacer ?










Avatar
JB
Bonjour,

-Avec ADO, c'est bien % qu'il faut utiliser et non pas *
-Si tu as des apostrophes dans tes chaines, il faut les doubler avec la
fonction Replace()

Cordialement JB
Avatar
michdenis
effectivement JB,

ADO ou MsQuery -> %

DAO ou Access -> *


Salutations!



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

-Avec ADO, c'est bien % qu'il faut utiliser et non pas *
-Si tu as des apostrophes dans tes chaines, il faut les doubler avec la
fonction Replace()

Cordialement JB
Avatar
JB
Dans les Interro SQL pour Access(ADO ou DAO), les dates doivent être
fournies sous la forme #12/31/2005#

y=ConvDate(x)

Function ConvDate(MaDate As Date) As String
ConvDate = "#" & Month(MaDate) & "/" & Day(MaDate) & "/" &
Year(MaDate) & "#"
End Function

Pour doubler les guillemets dans les chaines: y=Guillemet(x)

Function Guillemet(mot) ' Remplace ' par '' pour SQL
Dim temp
temp = Replace(mot, "'", "''")
Guillemet = temp
End Function

JB
Avatar
Emcy
merci, c'est bon à savoir (même si je ne n'avais pas posé la question
...???)

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

Dans les Interro SQL pour Access(ADO ou DAO), les dates doivent être
fournies sous la forme #12/31/2005#

y=ConvDate(x)

Function ConvDate(MaDate As Date) As String
ConvDate = "#" & Month(MaDate) & "/" & Day(MaDate) & "/" &
Year(MaDate) & "#"
End Function

Pour doubler les guillemets dans les chaines: y=Guillemet(x)

Function Guillemet(mot) ' Remplace ' par '' pour SQL
Dim temp
temp = Replace(mot, "'", "''")
Guillemet = temp
End Function

JB
1 2