OVH Cloud OVH Cloud

[97] pb de requete (simple)

4 réponses
Avatar
Orel
Bonjour a tous !!

je fais une petite appli qui contient un moteur de recherche de base.

il y a un champ texte qui peu contenir 2 mots maximum.

Je dois chercher dans une table : MotCle dans le champ : Keyword , qui
contient des enreg du style :
"Reunion operation migration.doc"

je voudrai que si l'user tape les mot clés reunion migration , la requete me
trouve le fichier .

j'avais penser a un truc du genre :

SELECT .... FROM MotCle WHERE keyword LIKE %reunion% AND keyword LIKE
%migration%

ca ne marche pas.

ou bien :
SELECT .... FROM MotCle WHERE keyword LIKE %reunion%migration%

ca ne marche pas non plus....


voyez vous mon probleme ??? si oui quel piste dois je suivre ???

je vous remercie par avance.

orel

4 réponses

Avatar
Daniel Carollo
Bonjour Orel!

Vous mettez [97] dans le sujet de votre message, je vais donc presumer que
vous travaillez en Access 97. Dans ce cas, le "joker" a utiliser est
l'asterisque (*).

Votre recherche aurait alors l'allure de:
SELECT .... FROM MotCle WHERE keyword LIKE '*reunion*' AND keyword LIKE
'*migration*'

A noter que des recherches de ce genre sont extremement lentes puisque Jet
ne peut pas utiliser les index et qu'il doit faire un balayage de la table
complete ("complete table scan" en Glais ).

Si le moteur de recherche n'est qu'une fonction secondaire de votre
application, ca peut etre acceptable, mais si c'est la fonction primaire, il
vaudrait mieux utiliser un outil plus adapte: Index Server de SQL Server,
qui permet des recherches semantiques (entre autres).

Bonne continuation.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...


"Orel" <pub[nospam]@owel.fr.st> wrote in message
news:OLb1%
Bonjour a tous !!

je fais une petite appli qui contient un moteur de recherche de base.

il y a un champ texte qui peu contenir 2 mots maximum.

Je dois chercher dans une table : MotCle dans le champ : Keyword , qui
contient des enreg du style :
"Reunion operation migration.doc"

je voudrai que si l'user tape les mot clés reunion migration , la requete
me

trouve le fichier .

j'avais penser a un truc du genre :

SELECT .... FROM MotCle WHERE keyword LIKE %reunion% AND keyword LIKE
%migration%

ca ne marche pas.

ou bien :
SELECT .... FROM MotCle WHERE keyword LIKE %reunion%migration%

ca ne marche pas non plus....


voyez vous mon probleme ??? si oui quel piste dois je suivre ???

je vous remercie par avance.

orel







Avatar
Benoit Compoint [MS]
Bonjour,

Sur Access 97 la syntaxe SQL que vous avez utilisée est incorrecte.

Vous pouvez utiliser la syntaxe suivante :
SELECT .... FROM MotCle WHERE keyword LIKE "*reunion*" ND keyword LIKE
"*migration*"

Ou la syntaxe suivante :
SELECT .... FROM MotCle WHERE keyword LIKE '*reunion*' ND keyword LIKE
'*migration*'

Benoit Compoint

"Orel" <pub[nospam]@owel.fr.st> wrote in message
news:OLb1%
Bonjour a tous !!

je fais une petite appli qui contient un moteur de recherche de base.

il y a un champ texte qui peu contenir 2 mots maximum.

Je dois chercher dans une table : MotCle dans le champ : Keyword , qui
contient des enreg du style :
"Reunion operation migration.doc"

je voudrai que si l'user tape les mot clés reunion migration , la requete
me

trouve le fichier .

j'avais penser a un truc du genre :

SELECT .... FROM MotCle WHERE keyword LIKE %reunion% AND keyword LIKE
%migration%

ca ne marche pas.

ou bien :
SELECT .... FROM MotCle WHERE keyword LIKE %reunion%migration%

ca ne marche pas non plus....


voyez vous mon probleme ??? si oui quel piste dois je suivre ???

je vous remercie par avance.

orel







Avatar
Orel
...mauvais caractere de joker ... le truc qui tue ... comme on dis apres
coup : "j'aurai du y penser"....
Merci.

pourrai je néanmoins avoir des infos sur "Index Server de SQL Server" ? est
ce une fonction d'access 97 ?? ou cela fait il reference au logiciel SQL
Server ??
Pour travailler je n'ai que XL97 et Access97 ...
J'aimerai avoir des precision car mon appli est un moteur de recherche....
pour c'est la fonction primaire ... ;o)


Merci d'avance

orel


"Daniel Carollo" a écrit dans le
message news:
Bonjour Orel!

Vous mettez [97] dans le sujet de votre message, je vais donc presumer que
vous travaillez en Access 97. Dans ce cas, le "joker" a utiliser est
l'asterisque (*).

Votre recherche aurait alors l'allure de:
SELECT .... FROM MotCle WHERE keyword LIKE '*reunion*' AND keyword LIKE
'*migration*'

A noter que des recherches de ce genre sont extremement lentes puisque Jet
ne peut pas utiliser les index et qu'il doit faire un balayage de la table
complete ("complete table scan" en Glais ).

Si le moteur de recherche n'est qu'une fonction secondaire de votre
application, ca peut etre acceptable, mais si c'est la fonction primaire,
il

vaudrait mieux utiliser un outil plus adapte: Index Server de SQL Server,
qui permet des recherches semantiques (entre autres).

Bonne continuation.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...


"Orel" <pub[nospam]@owel.fr.st> wrote in message
news:OLb1%
Bonjour a tous !!

je fais une petite appli qui contient un moteur de recherche de base.

il y a un champ texte qui peu contenir 2 mots maximum.

Je dois chercher dans une table : MotCle dans le champ : Keyword , qui
contient des enreg du style :
"Reunion operation migration.doc"

je voudrai que si l'user tape les mot clés reunion migration , la
requete


me
trouve le fichier .

j'avais penser a un truc du genre :

SELECT .... FROM MotCle WHERE keyword LIKE %reunion% AND keyword LIKE
%migration%

ca ne marche pas.

ou bien :
SELECT .... FROM MotCle WHERE keyword LIKE %reunion%migration%

ca ne marche pas non plus....


voyez vous mon probleme ??? si oui quel piste dois je suivre ???

je vous remercie par avance.

orel











Avatar
Orel
Merci de m'avoir indiqué le BON caractere joker .

orel


"Orel" <pub[nospam]@owel.fr.st> a écrit dans le message news:
OLb1#
Bonjour a tous !!

je fais une petite appli qui contient un moteur de recherche de base.

il y a un champ texte qui peu contenir 2 mots maximum.

Je dois chercher dans une table : MotCle dans le champ : Keyword , qui
contient des enreg du style :
"Reunion operation migration.doc"

je voudrai que si l'user tape les mot clés reunion migration , la requete
me

trouve le fichier .

j'avais penser a un truc du genre :

SELECT .... FROM MotCle WHERE keyword LIKE %reunion% AND keyword LIKE
%migration%

ca ne marche pas.

ou bien :
SELECT .... FROM MotCle WHERE keyword LIKE %reunion%migration%

ca ne marche pas non plus....


voyez vous mon probleme ??? si oui quel piste dois je suivre ???

je vous remercie par avance.

orel