cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
21 avril 2005 à 15:14
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
21 avril 2005 à 19:45
Bonjour à tous;
Je ne trouve pas dans ma docu la possibilité d'utiliser le OU ou le ET dans la syntaxe de l'opérateur LIKE.
texte = "rose"
resultat= texte Like "ro" & [s or
d]
Cette comparaison se fait dans une base de données ACCESS avec ADO (VB6). En fait, pour tout expliquer, j'ai une chaine d'un coté et une BD de l'autre. Dans cette BD, il y une colonne avec des expressions régulières, par exemple, je demande reconnaitre tous les mots excepté le mot que et donc j'indique *[!q][!u][!e]. Ca marche très bien, mais je souhaite indiquer un deuxième mot à refuser, donc j'indique *[!q][!u][!o][!i] et là, plus rien ne va, tous les mots sont acceptés, y compris que et quoi. J'ai donc indiqué *[!?][!q][!u][!?][?], et les chaines pour quoi, pourquoi à quoi, quoi, de quoi etc sont refusées, et le que est acceptés. Je voulais donc faire un truc du genre *[!q][!u][!e or o]. La seule possibilité que je vois est une plage de caractère du genre [e-o], mais là, ce sont les lettres de e à o qui sont refusées. Je voudrais également que des mots comme comment, où etc soient refusés. Merci à vous de m'avoir lu.
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 21 avril 2005 à 16:06
merci en tout cas ça me donne de nouvelles idées.
j'essaie ça
est-ce que la syntaxe de like marche dans ADO en général ? moi je dois chaque fois fermer access parce que les résultats de la recherche précédente semble parasiter..
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 21 avril 2005 à 16:13
Après test, il semble que le problème vienne plutôt du fait que je narrive pas à indiquer plusieurs critères dans la BD: un seul enregistrement du genre *[!*][!q][!u][!*][!*] marche bien mais si j'en ajoute un en dessous, plus rien ne marche. La seule solution que je vois pour l'instant est d'indiquer ces critères dans plusieurs colonnes et de faire un OR dans le LIKE en dehors de la BD. Mais c'est pas très pratique pour moi, c'est chaque fois un rst à activer.
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 21 avril 2005 à 19:45
Salut
La syntaxe [ajp] représente une des lettres a, j OU p
Donc, dans ton exemple, suffit d'écrire :
resultat= texte Like "ro[sd]"
ou, pour ton histoire de QUE et QUOI :
resultat = texte like "[!q][!u][!eo][!i]*"
à vérifier si c'est [!eo] ou [!e!o]
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)