pouriez vous m'aider a créer les requetes sql suivantes :
pour chercher un mot dans un mémo je fais
sql = "select * from matable where champ like " & "*" & mot & "*"
je voudrais les options suivantes :
- chercher dans un champ qui commence par ce mot...
- chercher dans un champ qui fini par ce mot...
et aussi chercher un mot entier, par exemple si le champ contient
camarade je veux pouvoir trouver soit "rade" soit uniquement "camarade"
avec des boutons option....
ce que j'ai du mal à cerner c'est la différence dans le résultat d'un
recherche sql entre "like " et "=" et l'utilisation des astérisques...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gloops
Bonjour Dav,
Pour la recherche sur mot entier je vais être un peu flou, mais ça doit être quelque chose du style "Like '[ .,;-]rade[ .,;-]'"
ce qui te trouvera rade, dans "rester en rade", et pas camarade, alors que "= '[ .,;-]rade[ .,;-]'" ne pourrait te trouver que '[ .,;-]rade[ .,;-]' qu'on ne met pas souvent dans un champ de base de données. Voilà pour la différence entre Like et =.
Je crains toutefois qu'il ne faille chercher rade au début et à la fin du champ, et ajouter les résultats à ceux de la requête précédente. En effet, si c'est au début ou à la fin du champ, il n'y a pas de caractère séparateur avant, respectivement après. Je rappelle que pour concaténer les résultats de deux requêtes existe le mot-clé UNION, qui te renverra une erreur si les deux requêtes ne comportent pas les mêmes champs.
Pour le reste, je t'invite à vérifier ce que je dis, ça fait un peu plus d'un an que je ne m'en suis pas servi et j'ai depuis utilisé SQL sur une autre plateforme.
Si tu mets "Like '*rade*'", tu trouves rade que ce soit un mot complet ou non, donc tu trouves "camarade" aussi bien que "rade de Brest".
Bien entendu si tu veux que le mot critère soit au début du champ, tu ne mets pas d'étoile devant.
"Like 'rade*'" te renverra "rade de Brest", mais pas "camarade" ni "rester en rade".
Ensuite, il te reste à créer ta procédure cmdBouton_Click pour qu'elle crée la requête en tenant compte des différents contrôles de ton formulaire.
Quelque part dans la routine il pourra y avoir un If chkBox1 = False Then strSQL = strSQL + "*" Endif
ce qui peut aussi, si je ne m'abuse, s'écrire strSQL = strSQL + iif(chkBox1, "", "*")
A toi de mettre un nom plus explicite que chkBox1 ... Et de préférence fais-le avant de définir les procédures événementielles qui y sont liées. __________________________________ dav a écrit, le 01/11/2004 13:20 :
pouriez vous m'aider a créer les requetes sql suivantes :
pour chercher un mot dans un mémo je fais
sql = "select * from matable where champ like " & "*" & mot & "*"
je voudrais les options suivantes :
- chercher dans un champ qui commence par ce mot... - chercher dans un champ qui fini par ce mot...
et aussi chercher un mot entier, par exemple si le champ contient camarade je veux pouvoir trouver soit "rade" soit uniquement "camarade" avec des boutons option....
ce que j'ai du mal à cerner c'est la différence dans le résultat d'un recherche sql entre "like " et "=" et l'utilisation des astérisques...
merci de votre aide...
dav
Bonjour Dav,
Pour la recherche sur mot entier je vais être un peu flou, mais ça doit
être quelque chose du style "Like '[ .,;-]rade[ .,;-]'"
ce qui te trouvera rade, dans "rester en rade", et pas camarade, alors que
"= '[ .,;-]rade[ .,;-]'" ne pourrait te trouver que '[ .,;-]rade[ .,;-]'
qu'on ne met pas souvent dans un champ de base de données. Voilà pour la
différence entre Like et =.
Je crains toutefois qu'il ne faille chercher rade au début et à la fin
du champ, et ajouter les résultats à ceux de la requête précédente. En
effet, si c'est au début ou à la fin du champ, il n'y a pas de caractère
séparateur avant, respectivement après. Je rappelle que pour concaténer
les résultats de deux requêtes existe le mot-clé UNION, qui te renverra
une erreur si les deux requêtes ne comportent pas les mêmes champs.
Pour le reste, je t'invite à vérifier ce que je dis, ça fait un peu plus
d'un an que je ne m'en suis pas servi et j'ai depuis utilisé SQL sur une
autre plateforme.
Si tu mets "Like '*rade*'", tu trouves rade que ce soit un mot complet
ou non, donc tu trouves "camarade" aussi bien que "rade de Brest".
Bien entendu si tu veux que le mot critère soit au début du champ, tu ne
mets pas d'étoile devant.
"Like 'rade*'" te renverra "rade de Brest", mais pas "camarade" ni
"rester en rade".
Ensuite, il te reste à créer ta procédure cmdBouton_Click pour qu'elle
crée la requête en tenant compte des différents contrôles de ton formulaire.
Quelque part dans la routine il pourra y avoir un
If chkBox1 = False Then
strSQL = strSQL + "*"
Endif
ce qui peut aussi, si je ne m'abuse, s'écrire
strSQL = strSQL + iif(chkBox1, "", "*")
A toi de mettre un nom plus explicite que chkBox1 ...
Et de préférence fais-le avant de définir les procédures événementielles
qui y sont liées.
__________________________________
dav a écrit, le 01/11/2004 13:20 :
pouriez vous m'aider a créer les requetes sql suivantes :
pour chercher un mot dans un mémo je fais
sql = "select * from matable where champ like " & "*" & mot & "*"
je voudrais les options suivantes :
- chercher dans un champ qui commence par ce mot...
- chercher dans un champ qui fini par ce mot...
et aussi chercher un mot entier, par exemple si le champ contient
camarade je veux pouvoir trouver soit "rade" soit uniquement "camarade"
avec des boutons option....
ce que j'ai du mal à cerner c'est la différence dans le résultat d'un
recherche sql entre "like " et "=" et l'utilisation des astérisques...
Pour la recherche sur mot entier je vais être un peu flou, mais ça doit être quelque chose du style "Like '[ .,;-]rade[ .,;-]'"
ce qui te trouvera rade, dans "rester en rade", et pas camarade, alors que "= '[ .,;-]rade[ .,;-]'" ne pourrait te trouver que '[ .,;-]rade[ .,;-]' qu'on ne met pas souvent dans un champ de base de données. Voilà pour la différence entre Like et =.
Je crains toutefois qu'il ne faille chercher rade au début et à la fin du champ, et ajouter les résultats à ceux de la requête précédente. En effet, si c'est au début ou à la fin du champ, il n'y a pas de caractère séparateur avant, respectivement après. Je rappelle que pour concaténer les résultats de deux requêtes existe le mot-clé UNION, qui te renverra une erreur si les deux requêtes ne comportent pas les mêmes champs.
Pour le reste, je t'invite à vérifier ce que je dis, ça fait un peu plus d'un an que je ne m'en suis pas servi et j'ai depuis utilisé SQL sur une autre plateforme.
Si tu mets "Like '*rade*'", tu trouves rade que ce soit un mot complet ou non, donc tu trouves "camarade" aussi bien que "rade de Brest".
Bien entendu si tu veux que le mot critère soit au début du champ, tu ne mets pas d'étoile devant.
"Like 'rade*'" te renverra "rade de Brest", mais pas "camarade" ni "rester en rade".
Ensuite, il te reste à créer ta procédure cmdBouton_Click pour qu'elle crée la requête en tenant compte des différents contrôles de ton formulaire.
Quelque part dans la routine il pourra y avoir un If chkBox1 = False Then strSQL = strSQL + "*" Endif
ce qui peut aussi, si je ne m'abuse, s'écrire strSQL = strSQL + iif(chkBox1, "", "*")
A toi de mettre un nom plus explicite que chkBox1 ... Et de préférence fais-le avant de définir les procédures événementielles qui y sont liées. __________________________________ dav a écrit, le 01/11/2004 13:20 :
pouriez vous m'aider a créer les requetes sql suivantes :
pour chercher un mot dans un mémo je fais
sql = "select * from matable where champ like " & "*" & mot & "*"
je voudrais les options suivantes :
- chercher dans un champ qui commence par ce mot... - chercher dans un champ qui fini par ce mot...
et aussi chercher un mot entier, par exemple si le champ contient camarade je veux pouvoir trouver soit "rade" soit uniquement "camarade" avec des boutons option....
ce que j'ai du mal à cerner c'est la différence dans le résultat d'un recherche sql entre "like " et "=" et l'utilisation des astérisques...
merci de votre aide...
dav
Alain Ménard
bonsoir,
mets le signe % au lieu de *
-- Amicalement
Alain Ménard
"dav" a écrit dans le message de news:4186297b$0$3594$
pouriez vous m'aider a créer les requetes sql suivantes :
pour chercher un mot dans un mémo je fais
sql = "select * from matable where champ like " & "*" & mot & "*"
je voudrais les options suivantes :
- chercher dans un champ qui commence par ce mot... - chercher dans un champ qui fini par ce mot...
et aussi chercher un mot entier, par exemple si le champ contient camarade je veux pouvoir trouver soit "rade" soit uniquement "camarade" avec des boutons option....
ce que j'ai du mal à cerner c'est la différence dans le résultat d'un recherche sql entre "like " et "=" et l'utilisation des astérisques...
merci de votre aide...
dav
bonsoir,
mets le signe % au lieu de *
--
Amicalement
Alain Ménard
"dav" <dav49400@wanadoo.fr> a écrit dans le message de
news:4186297b$0$3594$8fcfb975@news.wanadoo.fr...
pouriez vous m'aider a créer les requetes sql suivantes :
pour chercher un mot dans un mémo je fais
sql = "select * from matable where champ like " & "*" & mot & "*"
je voudrais les options suivantes :
- chercher dans un champ qui commence par ce mot...
- chercher dans un champ qui fini par ce mot...
et aussi chercher un mot entier, par exemple si le champ contient
camarade je veux pouvoir trouver soit "rade" soit uniquement "camarade"
avec des boutons option....
ce que j'ai du mal à cerner c'est la différence dans le résultat d'un
recherche sql entre "like " et "=" et l'utilisation des astérisques...
"dav" a écrit dans le message de news:4186297b$0$3594$
pouriez vous m'aider a créer les requetes sql suivantes :
pour chercher un mot dans un mémo je fais
sql = "select * from matable where champ like " & "*" & mot & "*"
je voudrais les options suivantes :
- chercher dans un champ qui commence par ce mot... - chercher dans un champ qui fini par ce mot...
et aussi chercher un mot entier, par exemple si le champ contient camarade je veux pouvoir trouver soit "rade" soit uniquement "camarade" avec des boutons option....
ce que j'ai du mal à cerner c'est la différence dans le résultat d'un recherche sql entre "like " et "=" et l'utilisation des astérisques...