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 ?

9 réponses

1 2
Avatar
Emcy
Excusez moi de la confusion => je confirme : les caractères de recherche en
ADO sont bien % et _

Je crois que personne à réellement compris mon probleme (c'es de ma faute) :
je dois faire des recherches dans une BDD Access en ADO en utilisant des
filtres (LIKE) mais le probleme est que les caractères suivant peuvent être
dans les champs : %, /, , #, [, ], _, ' ?
=> comment faut-il que je mette en forme mon filtre vu que les caractères %
et _ doivent être reconnus ?

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

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
michdenis
Bonjour Emcy,

Les chaines que je t'ai données fonctionnes... ont été testées directement dans Access

Pour ce qui est ADO

Cela dépend si tu as Jet 3.51 and Jet 4.0

(je n'ai pas l'environnement pour tester ceci :
AVec 3.51, tu dois utiliser les anciens WildCard * et ?
(Les chaînes de mon autre message ont été directement testés
dans access et ils fonctionnnent... je suppose que c'est la même
chose pour ADO - Jet 3.51

Avec 4.0 -> % Et _
% remplace un nombre indéterminé de caractères
_ ( underscore) remplace un caractère

Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'

Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
Pour rechercher le symbole "*" comme caractère -> %*
Pour rechercher tous les caractères -> %

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'

Et pour remplacer par un wildcard un caractère dans une chaîne :
Like 'a_mand' Pour like "armand"


Salutations!





"Emcy" a écrit dans le message de news: eA$
Excusez moi de la confusion => je confirme : les caractères de recherche en
ADO sont bien % et _

Je crois que personne à réellement compris mon probleme (c'es de ma faute) :
je dois faire des recherches dans une BDD Access en ADO en utilisant des
filtres (LIKE) mais le probleme est que les caractères suivant peuvent être
dans les champs : %, /, , #, [, ], _, ' ?
=> comment faut-il que je mette en forme mon filtre vu que les caractères %
et _ doivent être reconnus ?

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

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
Emcy
merci grace à toi j'ai trouvé ce que je voulais cependant tu as dis quelques
bétises :

Pour Jet 4.0 :
Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'
Like 'a%' suffit


Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
comme * n'est pas un caratère de recherche pour ADO (Jet 4.0) alors tu peux

écrire simplement Like 'a*%'

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'
il faut pltot mettre Like 'a[%]%'


pour résumé (ADO, Jet 4.0) :
il existe plusieurs caratères réservés pour la recherche : %, _, [ et ]
% : recheche tous les caractères
_ : recherche un caractère

les crochets [] permettent de dire que l'un des caratères réservés ne doit
pas être pris en compte comme un caractère de recherche
=> si on veut rechercher une chaine commençant par A%, il faut faire Like
'a[%]%'
=> si on veut rechercher une chaine commençant par A_, il faut faire Like
'a[_]%'
=> si on veut rechercher une chaine commençant par A[, il faut faire Like
'a[[]%'
=> si on veut rechercher une chaine commençant par A[], il faut faire Like
'a[[][]]%'

les corchets peuvent aussi servir à autre chose :
=> si on veut rechercher une chaine dont le deuxième caractère est une
lettre (majuscule ou minuscule), il faut faire Like '%[a-z]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre , il faut faire Like '%[0-9]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre inférieur à 6, il faut faire Like '%[0-5]%'
=> si on veut rechercher une chaine dont le deuxième caractère est soit un
chiffre ou soit une lettre (pas de caractère special), il faut faire Like
'%[a-z, 0-9]%'
=> si on veut rechercher une chaine dont le premiercaractère est soit % ou
soit /, il faut faire Like '[%, /]%'
je suppose qu'on doit pouvoir faire d'autres choses avec les crochets ....
par exemple je ne sais pas comment faire pour dire que le mot doit commencer
par la lettre A et finir par une suite de chiffre (ça doit surrement être
possible)

j'espere avoir été assez clair.

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

Bonjour Emcy,

Les chaines que je t'ai données fonctionnes... ont été testées directement
dans Access

Pour ce qui est ADO

Cela dépend si tu as Jet 3.51 and Jet 4.0

(je n'ai pas l'environnement pour tester ceci :
AVec 3.51, tu dois utiliser les anciens WildCard * et ?
(Les chaînes de mon autre message ont été directement testés
dans access et ils fonctionnnent... je suppose que c'est la même
chose pour ADO - Jet 3.51

Avec 4.0 -> % Et _
% remplace un nombre indéterminé de caractères
_ ( underscore) remplace un caractère

Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'

Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
Pour rechercher le symbole "*" comme caractère -> %*
Pour rechercher tous les caractères -> %

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'

Et pour remplacer par un wildcard un caractère dans une chaîne :
Like 'a_mand' Pour like "armand"


Salutations!





"Emcy" a écrit dans le message de news:
eA$
Excusez moi de la confusion => je confirme : les caractères de recherche
en
ADO sont bien % et _

Je crois que personne à réellement compris mon probleme (c'es de ma faute)
:
je dois faire des recherches dans une BDD Access en ADO en utilisant des
filtres (LIKE) mais le probleme est que les caractères suivant peuvent
être
dans les champs : %, /, , #, [, ], _, ' ?
=> comment faut-il que je mette en forme mon filtre vu que les caractères
%
et _ doivent être reconnus ?

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

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
michdenis
Bonjour Emcy,

| tu as dis quelques bétises :

Les "String" je l'ai testés en faisant des requêtes sur le fichier excel lui-même. Ok

Dans cet environnement, tous les exemples que je t'ai données fonctionnent ... c'est déjà ça !

Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne retourne rien !

Tu as une explication ? Tu sais pourquoi ? Je suis preneur...

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!

Pis les crochets et les requêtes paramètrées... ça te dit quelque chose ?



Salutations!





"Emcy" a écrit dans le message de news:
merci grace à toi j'ai trouvé ce que je voulais cependant tu as dis quelques
bétises :

Pour Jet 4.0 :
Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'
Like 'a%' suffit


Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
comme * n'est pas un caratère de recherche pour ADO (Jet 4.0) alors tu peux

écrire simplement Like 'a*%'

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'
il faut pltot mettre Like 'a[%]%'


pour résumé (ADO, Jet 4.0) :
il existe plusieurs caratères réservés pour la recherche : %, _, [ et ]
% : recheche tous les caractères
_ : recherche un caractère

les crochets [] permettent de dire que l'un des caratères réservés ne doit
pas être pris en compte comme un caractère de recherche
=> si on veut rechercher une chaine commençant par A%, il faut faire Like
'a[%]%'
=> si on veut rechercher une chaine commençant par A_, il faut faire Like
'a[_]%'
=> si on veut rechercher une chaine commençant par A[, il faut faire Like
'a[[]%'
=> si on veut rechercher une chaine commençant par A[], il faut faire Like
'a[[][]]%'

les corchets peuvent aussi servir à autre chose :
=> si on veut rechercher une chaine dont le deuxième caractère est une
lettre (majuscule ou minuscule), il faut faire Like '%[a-z]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre , il faut faire Like '%[0-9]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre inférieur à 6, il faut faire Like '%[0-5]%'
=> si on veut rechercher une chaine dont le deuxième caractère est soit un
chiffre ou soit une lettre (pas de caractère special), il faut faire Like
'%[a-z, 0-9]%'
=> si on veut rechercher une chaine dont le premiercaractère est soit % ou
soit /, il faut faire Like '[%, /]%'
je suppose qu'on doit pouvoir faire d'autres choses avec les crochets ....
par exemple je ne sais pas comment faire pour dire que le mot doit commencer
par la lettre A et finir par une suite de chiffre (ça doit surrement être
possible)

j'espere avoir été assez clair.

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

Bonjour Emcy,

Les chaines que je t'ai données fonctionnes... ont été testées directement
dans Access

Pour ce qui est ADO

Cela dépend si tu as Jet 3.51 and Jet 4.0

(je n'ai pas l'environnement pour tester ceci :
AVec 3.51, tu dois utiliser les anciens WildCard * et ?
(Les chaînes de mon autre message ont été directement testés
dans access et ils fonctionnnent... je suppose que c'est la même
chose pour ADO - Jet 3.51

Avec 4.0 -> % Et _
% remplace un nombre indéterminé de caractères
_ ( underscore) remplace un caractère

Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'

Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
Pour rechercher le symbole "*" comme caractère -> %*
Pour rechercher tous les caractères -> %

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'

Et pour remplacer par un wildcard un caractère dans une chaîne :
Like 'a_mand' Pour like "armand"


Salutations!





"Emcy" a écrit dans le message de news:
eA$
Excusez moi de la confusion => je confirme : les caractères de recherche
en
ADO sont bien % et _

Je crois que personne à réellement compris mon probleme (c'es de ma faute)
:
je dois faire des recherches dans une BDD Access en ADO en utilisant des
filtres (LIKE) mais le probleme est que les caractères suivant peuvent
être
dans les champs : %, /, , #, [, ], _, ' ?
=> comment faut-il que je mette en forme mon filtre vu que les caractères
%
et _ doivent être reconnus ?

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

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
Emcy
Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne >retourne rien
!
=> Tu a mal compris mes explications (ou j'ai mal expliqué), la requete à

faire est : Like 'a%'
la requete Like 'a[%]%' recherche les mots commençant par "a%"

Par contre tu viens de me faire voir une erreur sur ce que j'ai dis tout à
l'heure :
=> si on veut rechercher une chaine dont le premiercaractère est soit % ou
soit /, il faut faire Like '[%, /]%'
=> en fait cette fontion recherhe aussi le caratère ","

donc, j'aurais du écrire Like '[%/]%'

Like 'a[%*]%' fonctionne
=> Pas réellement : ta fonction dis de rechercher toute les chaines de

caratères commençant par "a" et dont le deuxieme caratère est soit "%" soit
"*"
essaies de rechercher avec ton systeme "ainnabelle" : tu ne devrais pas
avoir de reponse ...

par contre je trouve que c'est un peu le bazarre d'utliser les crochets pour
certaines recherche :
=> si tu recherche le mot commençant par une lettre ou un tiret, il faut
écrire Like '[a-z-]%' => c'est pas très clair comme écriture ... :(
=> si tu recherche le mot commençant par une lettre ou un chiffre ou un
tiret, il faut écrire Like '[a-z0-9-]%' => c'est encore moins clair comme
écriture ... :(

alors, ça marche pareil chez toi ?

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!
=> je te fais pas dire mais deja le fait d'utiliser ADO plustot que DAO

limite les dégats (remarque % et _ sont utilisés en SQL contrairement à * et
?)

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

Bonjour Emcy,

| tu as dis quelques bétises :

Les "String" je l'ai testés en faisant des requêtes sur le fichier excel
lui-même. Ok

Dans cet environnement, tous les exemples que je t'ai données fonctionnent
... c'est déjà ça !

Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne retourne rien
!

Tu as une explication ? Tu sais pourquoi ? Je suis preneur...

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!

Pis les crochets et les requêtes paramètrées... ça te dit quelque chose ?



Salutations!





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

merci grace à toi j'ai trouvé ce que je voulais cependant tu as dis
quelques
bétises :

Pour Jet 4.0 :
Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'
Like 'a%' suffit


Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
comme * n'est pas un caratère de recherche pour ADO (Jet 4.0) alors tu

peux
écrire simplement Like 'a*%'

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'
il faut pltot mettre Like 'a[%]%'


pour résumé (ADO, Jet 4.0) :
il existe plusieurs caratères réservés pour la recherche : %, _, [ et ]
% : recheche tous les caractères
_ : recherche un caractère

les crochets [] permettent de dire que l'un des caratères réservés ne
doit
pas être pris en compte comme un caractère de recherche
=> si on veut rechercher une chaine commençant par A%, il faut faire Like
'a[%]%'
=> si on veut rechercher une chaine commençant par A_, il faut faire Like
'a[_]%'
=> si on veut rechercher une chaine commençant par A[, il faut faire Like
'a[[]%'
=> si on veut rechercher une chaine commençant par A[], il faut faire Like
'a[[][]]%'

les corchets peuvent aussi servir à autre chose :
=> si on veut rechercher une chaine dont le deuxième caractère est une
lettre (majuscule ou minuscule), il faut faire Like '%[a-z]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre , il faut faire Like '%[0-9]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre inférieur à 6, il faut faire Like '%[0-5]%'
=> si on veut rechercher une chaine dont le deuxième caractère est soit un
chiffre ou soit une lettre (pas de caractère special), il faut faire Like
'%[a-z, 0-9]%'
=> si on veut rechercher une chaine dont le premiercaractère est soit % ou
soit /, il faut faire Like '[%, /]%'
je suppose qu'on doit pouvoir faire d'autres choses avec les crochets ....
par exemple je ne sais pas comment faire pour dire que le mot doit
commencer
par la lettre A et finir par une suite de chiffre (ça doit surrement être
possible)

j'espere avoir été assez clair.

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

Bonjour Emcy,

Les chaines que je t'ai données fonctionnes... ont été testées
directement
dans Access

Pour ce qui est ADO

Cela dépend si tu as Jet 3.51 and Jet 4.0

(je n'ai pas l'environnement pour tester ceci :
AVec 3.51, tu dois utiliser les anciens WildCard * et ?
(Les chaînes de mon autre message ont été directement testés
dans access et ils fonctionnnent... je suppose que c'est la même
chose pour ADO - Jet 3.51

Avec 4.0 -> % Et _
% remplace un nombre indéterminé de caractères
_ ( underscore) remplace un caractère

Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'

Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
Pour rechercher le symbole "*" comme caractère -> %*
Pour rechercher tous les caractères -> %

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'

Et pour remplacer par un wildcard un caractère dans une chaîne :
Like 'a_mand' Pour like "armand"


Salutations!





"Emcy" a écrit dans le message de news:
eA$
Excusez moi de la confusion => je confirme : les caractères de recherche
en
ADO sont bien % et _

Je crois que personne à réellement compris mon probleme (c'es de ma
faute)
:
je dois faire des recherches dans une BDD Access en ADO en utilisant des
filtres (LIKE) mais le probleme est que les caractères suivant peuvent
être
dans les champs : %, /, , #, [, ], _, ' ?
=> comment faut-il que je mette en forme mon filtre vu que les caractères
%
et _ doivent être reconnus ?

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

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
michdenis
Je termine ce fil ainsi ...(comme tous ces wildcard ne se traitent
pas uniformément dans Access, Ado, Dao, Query... et probablement
aussi dans plusieurs autres bases de données, après avoir
compris le principe... quelqu'un devrait être capable de trouver!)

L'exemple où ta proposition ne fonctionne pas ...
On peut vouloir rechercher une chaîne dont le deuxième caractère est
l'étoile (en tant que caractère) tout simplement comme dans "A*nnabelle"

On peut aussi vouloir rechercher une chaîne dont le deuxième caractère est
"%" en tant que caractère et non comme WildCard comme
dans "A%nnabelle"



Salutations!





"Emcy" a écrit dans le message de news:
Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne >retourne rien
!
=> Tu a mal compris mes explications (ou j'ai mal expliqué), la requete à

faire est : Like 'a%'
la requete Like 'a[%]%' recherche les mots commençant par "a%"

Par contre tu viens de me faire voir une erreur sur ce que j'ai dis tout à
l'heure :
=> si on veut rechercher une chaine dont le premiercaractère est soit % ou
soit /, il faut faire Like '[%, /]%'
=> en fait cette fontion recherhe aussi le caratère ","

donc, j'aurais du écrire Like '[%/]%'

Like 'a[%*]%' fonctionne
=> Pas réellement : ta fonction dis de rechercher toute les chaines de

caratères commençant par "a" et dont le deuxieme caratère est soit "%" soit
"*"
essaies de rechercher avec ton systeme "ainnabelle" : tu ne devrais pas
avoir de reponse ...

par contre je trouve que c'est un peu le bazarre d'utliser les crochets pour
certaines recherche :
=> si tu recherche le mot commençant par une lettre ou un tiret, il faut
écrire Like '[a-z-]%' => c'est pas très clair comme écriture ... :(
=> si tu recherche le mot commençant par une lettre ou un chiffre ou un
tiret, il faut écrire Like '[a-z0-9-]%' => c'est encore moins clair comme
écriture ... :(

alors, ça marche pareil chez toi ?

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!
=> je te fais pas dire mais deja le fait d'utiliser ADO plustot que DAO

limite les dégats (remarque % et _ sont utilisés en SQL contrairement à * et
?)

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

Bonjour Emcy,

| tu as dis quelques bétises :

Les "String" je l'ai testés en faisant des requêtes sur le fichier excel
lui-même. Ok

Dans cet environnement, tous les exemples que je t'ai données fonctionnent
... c'est déjà ça !

Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne retourne rien
!

Tu as une explication ? Tu sais pourquoi ? Je suis preneur...

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!

Pis les crochets et les requêtes paramètrées... ça te dit quelque chose ?



Salutations!





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

merci grace à toi j'ai trouvé ce que je voulais cependant tu as dis
quelques
bétises :

Pour Jet 4.0 :
Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'
Like 'a%' suffit


Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
comme * n'est pas un caratère de recherche pour ADO (Jet 4.0) alors tu

peux
écrire simplement Like 'a*%'

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'
il faut pltot mettre Like 'a[%]%'


pour résumé (ADO, Jet 4.0) :
il existe plusieurs caratères réservés pour la recherche : %, _, [ et ]
% : recheche tous les caractères
_ : recherche un caractère

les crochets [] permettent de dire que l'un des caratères réservés ne
doit
pas être pris en compte comme un caractère de recherche
=> si on veut rechercher une chaine commençant par A%, il faut faire Like
'a[%]%'
=> si on veut rechercher une chaine commençant par A_, il faut faire Like
'a[_]%'
=> si on veut rechercher une chaine commençant par A[, il faut faire Like
'a[[]%'
=> si on veut rechercher une chaine commençant par A[], il faut faire Like
'a[[][]]%'

les corchets peuvent aussi servir à autre chose :
=> si on veut rechercher une chaine dont le deuxième caractère est une
lettre (majuscule ou minuscule), il faut faire Like '%[a-z]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre , il faut faire Like '%[0-9]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre inférieur à 6, il faut faire Like '%[0-5]%'
=> si on veut rechercher une chaine dont le deuxième caractère est soit un
chiffre ou soit une lettre (pas de caractère special), il faut faire Like
'%[a-z, 0-9]%'
=> si on veut rechercher une chaine dont le premiercaractère est soit % ou
soit /, il faut faire Like '[%, /]%'
je suppose qu'on doit pouvoir faire d'autres choses avec les crochets ....
par exemple je ne sais pas comment faire pour dire que le mot doit
commencer
par la lettre A et finir par une suite de chiffre (ça doit surrement être
possible)

j'espere avoir été assez clair.

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

Bonjour Emcy,

Les chaines que je t'ai données fonctionnes... ont été testées
directement
dans Access

Pour ce qui est ADO

Cela dépend si tu as Jet 3.51 and Jet 4.0

(je n'ai pas l'environnement pour tester ceci :
AVec 3.51, tu dois utiliser les anciens WildCard * et ?
(Les chaînes de mon autre message ont été directement testés
dans access et ils fonctionnnent... je suppose que c'est la même
chose pour ADO - Jet 3.51

Avec 4.0 -> % Et _
% remplace un nombre indéterminé de caractères
_ ( underscore) remplace un caractère

Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'

Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
Pour rechercher le symbole "*" comme caractère -> %*
Pour rechercher tous les caractères -> %

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'

Et pour remplacer par un wildcard un caractère dans une chaîne :
Like 'a_mand' Pour like "armand"


Salutations!





"Emcy" a écrit dans le message de news:
eA$
Excusez moi de la confusion => je confirme : les caractères de recherche
en
ADO sont bien % et _

Je crois que personne à réellement compris mon probleme (c'es de ma
faute)
:
je dois faire des recherches dans une BDD Access en ADO en utilisant des
filtres (LIKE) mais le probleme est que les caractères suivant peuvent
être
dans les champs : %, /, , #, [, ], _, ' ?
=> comment faut-il que je mette en forme mon filtre vu que les caractères
%
et _ doivent être reconnus ?

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

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
Clément Marcotte
Bonjour,

Juste pour le fun, moi ce que j'en dis, c'est qu'il faut faire la requête
qui va bien dans Access, puis passer en mode SQL dans Access, copier la
requête et la coller dans la procédure, avec les quelques ajustements qui
s'imposent.


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

Je termine ce fil ainsi ...(comme tous ces wildcard ne se traitent
pas uniformément dans Access, Ado, Dao, Query... et probablement
aussi dans plusieurs autres bases de données, après avoir
compris le principe... quelqu'un devrait être capable de trouver!)

L'exemple où ta proposition ne fonctionne pas ...
On peut vouloir rechercher une chaîne dont le deuxième caractère est
l'étoile (en tant que caractère) tout simplement comme dans "A*nnabelle"

On peut aussi vouloir rechercher une chaîne dont le deuxième caractère est
"%" en tant que caractère et non comme WildCard comme
dans "A%nnabelle"



Salutations!





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

Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne >retourne
rien
!
=> Tu a mal compris mes explications (ou j'ai mal expliqué), la requete à

faire est : Like 'a%'
la requete Like 'a[%]%' recherche les mots commençant par "a%"

Par contre tu viens de me faire voir une erreur sur ce que j'ai dis tout à
l'heure :
=> si on veut rechercher une chaine dont le premiercaractère est soit %
ou
soit /, il faut faire Like '[%, /]%'
=> en fait cette fontion recherhe aussi le caratère ","

donc, j'aurais du écrire Like '[%/]%'

Like 'a[%*]%' fonctionne
=> Pas réellement : ta fonction dis de rechercher toute les chaines de

caratères commençant par "a" et dont le deuxieme caratère est soit "%"
soit
"*"
essaies de rechercher avec ton systeme "ainnabelle" : tu ne devrais pas
avoir de reponse ...

par contre je trouve que c'est un peu le bazarre d'utliser les crochets
pour
certaines recherche :
=> si tu recherche le mot commençant par une lettre ou un tiret, il faut
écrire Like '[a-z-]%' => c'est pas très clair comme écriture ... :(
=> si tu recherche le mot commençant par une lettre ou un chiffre ou un
tiret, il faut écrire Like '[a-z0-9-]%' => c'est encore moins clair comme
écriture ... :(

alors, ça marche pareil chez toi ?

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!
=> je te fais pas dire mais deja le fait d'utiliser ADO plustot que DAO

limite les dégats (remarque % et _ sont utilisés en SQL contrairement à *
et
?)

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

Bonjour Emcy,

| tu as dis quelques bétises :

Les "String" je l'ai testés en faisant des requêtes sur le fichier excel
lui-même. Ok

Dans cet environnement, tous les exemples que je t'ai données
fonctionnent
... c'est déjà ça !

Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne retourne
rien
!

Tu as une explication ? Tu sais pourquoi ? Je suis preneur...

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!

Pis les crochets et les requêtes paramètrées... ça te dit quelque chose ?



Salutations!





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

merci grace à toi j'ai trouvé ce que je voulais cependant tu as dis
quelques
bétises :

Pour Jet 4.0 :
Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'
Like 'a%' suffit


Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
comme * n'est pas un caratère de recherche pour ADO (Jet 4.0) alors tu

peux
écrire simplement Like 'a*%'

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'
il faut pltot mettre Like 'a[%]%'


pour résumé (ADO, Jet 4.0) :
il existe plusieurs caratères réservés pour la recherche : %, _, [ et ]
% : recheche tous les caractères
_ : recherche un caractère

les crochets [] permettent de dire que l'un des caratères réservés ne
doit
pas être pris en compte comme un caractère de recherche
=> si on veut rechercher une chaine commençant par A%, il faut faire Like
'a[%]%'
=> si on veut rechercher une chaine commençant par A_, il faut faire Like
'a[_]%'
=> si on veut rechercher une chaine commençant par A[, il faut faire Like
'a[[]%'
=> si on veut rechercher une chaine commençant par A[], il faut faire
Like
'a[[][]]%'

les corchets peuvent aussi servir à autre chose :
=> si on veut rechercher une chaine dont le deuxième caractère est une
lettre (majuscule ou minuscule), il faut faire Like '%[a-z]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre , il faut faire Like '%[0-9]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre inférieur à 6, il faut faire Like '%[0-5]%'
=> si on veut rechercher une chaine dont le deuxième caractère est soit
un
chiffre ou soit une lettre (pas de caractère special), il faut faire Like
'%[a-z, 0-9]%'
=> si on veut rechercher une chaine dont le premiercaractère est soit %
ou
soit /, il faut faire Like '[%, /]%'
je suppose qu'on doit pouvoir faire d'autres choses avec les crochets
....
par exemple je ne sais pas comment faire pour dire que le mot doit
commencer
par la lettre A et finir par une suite de chiffre (ça doit surrement être
possible)

j'espere avoir été assez clair.

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

Bonjour Emcy,

Les chaines que je t'ai données fonctionnes... ont été testées
directement
dans Access

Pour ce qui est ADO

Cela dépend si tu as Jet 3.51 and Jet 4.0

(je n'ai pas l'environnement pour tester ceci :
AVec 3.51, tu dois utiliser les anciens WildCard * et ?
(Les chaînes de mon autre message ont été directement testés
dans access et ils fonctionnnent... je suppose que c'est la même
chose pour ADO - Jet 3.51

Avec 4.0 -> % Et _
% remplace un nombre indéterminé de caractères
_ ( underscore) remplace un caractère

Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'

Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
Pour rechercher le symbole "*" comme caractère -> %*
Pour rechercher tous les caractères -> %

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'

Et pour remplacer par un wildcard un caractère dans une chaîne :
Like 'a_mand' Pour like "armand"


Salutations!





"Emcy" a écrit dans le message de news:
eA$
Excusez moi de la confusion => je confirme : les caractères de recherche
en
ADO sont bien % et _

Je crois que personne à réellement compris mon probleme (c'es de ma
faute)
:
je dois faire des recherches dans une BDD Access en ADO en utilisant des
filtres (LIKE) mais le probleme est que les caractères suivant peuvent
être
dans les champs : %, /, , #, [, ], _, ' ?
=> comment faut-il que je mette en forme mon filtre vu que les
caractères
%
et _ doivent être reconnus ?

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

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
michdenis
Bonjour Clément,

Ce n'est pas si simple que cela !

ce n'est pas parce que c'est "fonctionnel" en Access, qu'on peut
l'utiliser avec une requête via ADO. On doit recourrir aux paramètres
particuliers d'Ado pour obtenir un bon résultat.

Je suppose que par la suite, Ado sait comment traiter avec les différentes
bases de données selon les "WildCard" qu'elles utilisent !

Pourquoi faire simple lorsque l'on peut faire compliquer ? Faut bien que
tout le monde gagne leur vie !!!!


Salutations!


"Clément Marcotte" a écrit dans le message de news:
Bonjour,

Juste pour le fun, moi ce que j'en dis, c'est qu'il faut faire la requête
qui va bien dans Access, puis passer en mode SQL dans Access, copier la
requête et la coller dans la procédure, avec les quelques ajustements qui
s'imposent.


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

Je termine ce fil ainsi ...(comme tous ces wildcard ne se traitent
pas uniformément dans Access, Ado, Dao, Query... et probablement
aussi dans plusieurs autres bases de données, après avoir
compris le principe... quelqu'un devrait être capable de trouver!)

L'exemple où ta proposition ne fonctionne pas ...
On peut vouloir rechercher une chaîne dont le deuxième caractère est
l'étoile (en tant que caractère) tout simplement comme dans "A*nnabelle"

On peut aussi vouloir rechercher une chaîne dont le deuxième caractère est
"%" en tant que caractère et non comme WildCard comme
dans "A%nnabelle"



Salutations!





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

Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne >retourne
rien
!
=> Tu a mal compris mes explications (ou j'ai mal expliqué), la requete à

faire est : Like 'a%'
la requete Like 'a[%]%' recherche les mots commençant par "a%"

Par contre tu viens de me faire voir une erreur sur ce que j'ai dis tout à
l'heure :
=> si on veut rechercher une chaine dont le premiercaractère est soit %
ou
soit /, il faut faire Like '[%, /]%'
=> en fait cette fontion recherhe aussi le caratère ","

donc, j'aurais du écrire Like '[%/]%'

Like 'a[%*]%' fonctionne
=> Pas réellement : ta fonction dis de rechercher toute les chaines de

caratères commençant par "a" et dont le deuxieme caratère est soit "%"
soit
"*"
essaies de rechercher avec ton systeme "ainnabelle" : tu ne devrais pas
avoir de reponse ...

par contre je trouve que c'est un peu le bazarre d'utliser les crochets
pour
certaines recherche :
=> si tu recherche le mot commençant par une lettre ou un tiret, il faut
écrire Like '[a-z-]%' => c'est pas très clair comme écriture ... :(
=> si tu recherche le mot commençant par une lettre ou un chiffre ou un
tiret, il faut écrire Like '[a-z0-9-]%' => c'est encore moins clair comme
écriture ... :(

alors, ça marche pareil chez toi ?

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!
=> je te fais pas dire mais deja le fait d'utiliser ADO plustot que DAO

limite les dégats (remarque % et _ sont utilisés en SQL contrairement à *
et
?)

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

Bonjour Emcy,

| tu as dis quelques bétises :

Les "String" je l'ai testés en faisant des requêtes sur le fichier excel
lui-même. Ok

Dans cet environnement, tous les exemples que je t'ai données
fonctionnent
... c'est déjà ça !

Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne retourne
rien
!

Tu as une explication ? Tu sais pourquoi ? Je suis preneur...

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!

Pis les crochets et les requêtes paramètrées... ça te dit quelque chose ?



Salutations!





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

merci grace à toi j'ai trouvé ce que je voulais cependant tu as dis
quelques
bétises :

Pour Jet 4.0 :
Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'
Like 'a%' suffit


Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
comme * n'est pas un caratère de recherche pour ADO (Jet 4.0) alors tu

peux
écrire simplement Like 'a*%'

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'
il faut pltot mettre Like 'a[%]%'


pour résumé (ADO, Jet 4.0) :
il existe plusieurs caratères réservés pour la recherche : %, _, [ et ]
% : recheche tous les caractères
_ : recherche un caractère

les crochets [] permettent de dire que l'un des caratères réservés ne
doit
pas être pris en compte comme un caractère de recherche
=> si on veut rechercher une chaine commençant par A%, il faut faire Like
'a[%]%'
=> si on veut rechercher une chaine commençant par A_, il faut faire Like
'a[_]%'
=> si on veut rechercher une chaine commençant par A[, il faut faire Like
'a[[]%'
=> si on veut rechercher une chaine commençant par A[], il faut faire
Like
'a[[][]]%'

les corchets peuvent aussi servir à autre chose :
=> si on veut rechercher une chaine dont le deuxième caractère est une
lettre (majuscule ou minuscule), il faut faire Like '%[a-z]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre , il faut faire Like '%[0-9]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre inférieur à 6, il faut faire Like '%[0-5]%'
=> si on veut rechercher une chaine dont le deuxième caractère est soit
un
chiffre ou soit une lettre (pas de caractère special), il faut faire Like
'%[a-z, 0-9]%'
=> si on veut rechercher une chaine dont le premiercaractère est soit %
ou
soit /, il faut faire Like '[%, /]%'
je suppose qu'on doit pouvoir faire d'autres choses avec les crochets
....
par exemple je ne sais pas comment faire pour dire que le mot doit
commencer
par la lettre A et finir par une suite de chiffre (ça doit surrement être
possible)

j'espere avoir été assez clair.

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

Bonjour Emcy,

Les chaines que je t'ai données fonctionnes... ont été testées
directement
dans Access

Pour ce qui est ADO

Cela dépend si tu as Jet 3.51 and Jet 4.0

(je n'ai pas l'environnement pour tester ceci :
AVec 3.51, tu dois utiliser les anciens WildCard * et ?
(Les chaînes de mon autre message ont été directement testés
dans access et ils fonctionnnent... je suppose que c'est la même
chose pour ADO - Jet 3.51

Avec 4.0 -> % Et _
% remplace un nombre indéterminé de caractères
_ ( underscore) remplace un caractère

Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'

Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
Pour rechercher le symbole "*" comme caractère -> %*
Pour rechercher tous les caractères -> %

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'

Et pour remplacer par un wildcard un caractère dans une chaîne :
Like 'a_mand' Pour like "armand"


Salutations!





"Emcy" a écrit dans le message de news:
eA$
Excusez moi de la confusion => je confirme : les caractères de recherche
en
ADO sont bien % et _

Je crois que personne à réellement compris mon probleme (c'es de ma
faute)
:
je dois faire des recherches dans une BDD Access en ADO en utilisant des
filtres (LIKE) mais le probleme est que les caractères suivant peuvent
être
dans les champs : %, /, , #, [, ], _, ' ?
=> comment faut-il que je mette en forme mon filtre vu que les
caractères
%
et _ doivent être reconnus ?

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

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
Emcy
Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne >retourne rien
!
=> Tu a mal compris mes explications (ou j'ai mal expliqué), la requete à

faire est : Like 'a%'
la requete Like 'a[%]%' recherche les mots commençant par "a%"

Par contre tu viens de me faire voir une erreur sur ce que j'ai dis tout à
l'heure :
=> si on veut rechercher une chaine dont le premiercaractère est soit % ou
soit /, il faut faire Like '[%, /]%'
=> en fait cette fontion recherhe aussi le caratère ","

donc, j'aurais du écrire Like '[%/]%'

Like 'a[%*]%' fonctionne
=> Pas réellement : ta fonction dis de rechercher toute les chaines de

caratères commençant par "a" et dont le deuxieme caratère est soit "%" soit
"*"
essaies de rechercher avec ton systeme "ainnabelle" : tu ne devrais pas
avoir de reponse ...

par contre je trouve que c'est un peu le bazarre d'utliser les crochets pour
certaines recherche :
=> si tu recherche le mot commençant par une lettre ou un tiret, il faut
écrire Like '[a-z-]%' => c'est pas très clair comme écriture ... :(
=> si tu recherche le mot commençant par une lettre ou un chiffre ou un
tiret, il faut écrire Like '[a-z0-9-]%' (attention, il ne faut pas mettre
de virgule) => c'est encore moins clair comme
écriture ... :(

alors, ça marche pareil chez toi ?

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!
=> je te fais pas dire mais deja le fait d'utiliser ADO plustot que DAO

limite les dégats (remarque % et _ sont utilisés en SQL contrairement à * et
?)


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

Bonjour Emcy,

| tu as dis quelques bétises :

Les "String" je l'ai testés en faisant des requêtes sur le fichier excel
lui-même. Ok

Dans cet environnement, tous les exemples que je t'ai données fonctionnent
... c'est déjà ça !

Si dans un champ par exemple, je recherche "a*nnabelle"
Like 'a[%*]%'" fonctionne et ta proposition Like 'a[%]%' ne retourne rien
!

Tu as une explication ? Tu sais pourquoi ? Je suis preneur...

Chaque environnement a des particularités... si c'est des bêtises ...?
il faudrait demander à Microsoft pourquoi il s'amuse à modifier
tous ces petits trucs constamment !!!!

Pis les crochets et les requêtes paramètrées... ça te dit quelque chose ?



Salutations!





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

merci grace à toi j'ai trouvé ce que je voulais cependant tu as dis
quelques
bétises :

Pour Jet 4.0 :
Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'
Like 'a%' suffit


Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
comme * n'est pas un caratère de recherche pour ADO (Jet 4.0) alors tu

peux
écrire simplement Like 'a*%'

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'
il faut pltot mettre Like 'a[%]%'


pour résumé (ADO, Jet 4.0) :
il existe plusieurs caratères réservés pour la recherche : %, _, [ et ]
% : recheche tous les caractères
_ : recherche un caractère

les crochets [] permettent de dire que l'un des caratères réservés ne
doit
pas être pris en compte comme un caractère de recherche
=> si on veut rechercher une chaine commençant par A%, il faut faire Like
'a[%]%'
=> si on veut rechercher une chaine commençant par A_, il faut faire Like
'a[_]%'
=> si on veut rechercher une chaine commençant par A[, il faut faire Like
'a[[]%'
=> si on veut rechercher une chaine commençant par A[], il faut faire Like
'a[[][]]%'

les corchets peuvent aussi servir à autre chose :
=> si on veut rechercher une chaine dont le deuxième caractère est une
lettre (majuscule ou minuscule), il faut faire Like '%[a-z]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre , il faut faire Like '%[0-9]%'
=> si on veut rechercher une chaine dont le deuxième caractère est un
chiffre inférieur à 6, il faut faire Like '%[0-5]%'
=> si on veut rechercher une chaine dont le deuxième caractère est soit un
chiffre ou soit une lettre (pas de caractère special), il faut faire Like
'%[a-z, 0-9]%'
=> si on veut rechercher une chaine dont le premiercaractère est soit % ou
soit /, il faut faire Like '[%, /]%'
je suppose qu'on doit pouvoir faire d'autres choses avec les crochets ....
par exemple je ne sais pas comment faire pour dire que le mot doit
commencer
par la lettre A et finir par une suite de chiffre (ça doit surrement être
possible)

j'espere avoir été assez clair.

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

Bonjour Emcy,

Les chaines que je t'ai données fonctionnes... ont été testées
directement
dans Access

Pour ce qui est ADO

Cela dépend si tu as Jet 3.51 and Jet 4.0

(je n'ai pas l'environnement pour tester ceci :
AVec 3.51, tu dois utiliser les anciens WildCard * et ?
(Les chaînes de mon autre message ont été directement testés
dans access et ils fonctionnnent... je suppose que c'est la même
chose pour ADO - Jet 3.51

Avec 4.0 -> % Et _
% remplace un nombre indéterminé de caractères
_ ( underscore) remplace un caractère

Si tu recherches tous les entrées de la table contenant
comme première lettre A , tu dois utiliser ceci :
Like 'a%_'

Si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième caractère * , tu
dois utiliser ceci : Like 'a%*%'
Pour rechercher le symbole "*" comme caractère -> %*
Pour rechercher tous les caractères -> %

Et si tu recherches toutes les entrées de la table contenant
comme première lettre A et deuxième lettre % , tu dois
utiliser ceci : Like 'a[%*]%_'

Et pour remplacer par un wildcard un caractère dans une chaîne :
Like 'a_mand' Pour like "armand"


Salutations!





"Emcy" a écrit dans le message de news:
eA$
Excusez moi de la confusion => je confirme : les caractères de recherche
en
ADO sont bien % et _

Je crois que personne à réellement compris mon probleme (c'es de ma
faute)
:
je dois faire des recherches dans une BDD Access en ADO en utilisant des
filtres (LIKE) mais le probleme est que les caractères suivant peuvent
être
dans les champs : %, /, , #, [, ], _, ' ?
=> comment faut-il que je mette en forme mon filtre vu que les caractères
%
et _ doivent être reconnus ?

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

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














1 2