OVH Cloud OVH Cloud

Requette : recherche

4 réponses
Avatar
Mathias Mattiuzzo
Bonjour =E0 tous,

J'ai cr=E9=E9 est une base documentaire dans laquelle j'ai=20
class=E9 chaque document dans un enregistrement diff=E9rent.=20
Dans cette base qui contient une table principale dans=20
laquelle sont stock=E9s les enregistrement de chaque=20
document, j'ai attribu=E9 =E0 un des champ le nom "mots cl=E9s"=20
dans lequel j'ai saisi un ou plusieurs mots cl=E9s.=20

Je souhaite maintenant cr=E9er une requ=EAte qui me permettra=20
d'effectuer une simple recherche par mot cl=E9 et qui=20
classera les enregistrements en fonction de la pertinence=20
des r=E9sultats. Ex : au d=E9but les enregistrements dans=20
lesquels tous les mots cl=E9s recherch=E9s sont pr=E9sents et en=20
dernier les enregistrements dans lesquels un seul des mots=20
est pr=E9sent.=20

L'id=E9ale serait de pouvoir effectuer cette recherche via=20
un formulaire ou une bo=EEte de dialogue.

Merci d'avance.

Mathias Mattiuzzo.=20

4 réponses

Avatar
Raymond [mvp]
Bonjour.

La solution simple et un peu simpliste est de mettre un critère Like "*" &
Lemotcle & "*" ce qui permet d'obtenir tous les enregistrements contenant
le mot composé dans une partie d'un mot-clé du champ des mots clés.
pour la pertinence, c'est plus difficile, car il faut compter le nombre
d'occurences mais en fonction de la recherche en tenant compte des mots
entiers ou partiels et là ça se corse.
Bien entendu il faut faire toute la préparation d ela requête à partir d'un
formulaire.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Mathias Mattiuzzo" a écrit dans le
message de news:057b01c3b590$107de4f0$
Bonjour à tous,

J'ai créé est une base documentaire dans laquelle j'ai
classé chaque document dans un enregistrement différent.
Dans cette base qui contient une table principale dans
laquelle sont stockés les enregistrement de chaque
document, j'ai attribué à un des champ le nom "mots clés"
dans lequel j'ai saisi un ou plusieurs mots clés.

Je souhaite maintenant créer une requête qui me permettra
d'effectuer une simple recherche par mot clé et qui
classera les enregistrements en fonction de la pertinence
des résultats. Ex : au début les enregistrements dans
lesquels tous les mots clés recherchés sont présents et en
dernier les enregistrements dans lesquels un seul des mots
est présent.

L'idéale serait de pouvoir effectuer cette recherche via
un formulaire ou une boîte de dialogue.

Merci d'avance.

Mathias Mattiuzzo.
Avatar
hm15
Bonjour Mathias,

dois-je comprendre que tes mots-clés sont dans UN seul champ séparés par des
virgules ou quelque chose comme ça ?
En mettant tous les mots-clés dans un même champ, tu ne peux déjà pas
effectuer de tri cohérent.
Il me semble que, s'il est encore temps, tu aurais intérêt à revoir la
structure de ta base.

Personnellement, j'aurais créé une table T_MotsCles et une table de liaison
entre la T_Documents et la T_MotsCles (T_Documents_MotsCles par exemple).
Chaque mot-clé serait ainsi dissocié des autres, sélectionnable dans une
liste déroulante (donc en limitant les risques d'erreur de saisie pour un
même mot), et surtout, plus facile à identifier donc à dénombrer. Tu
pourrais classer tes documents simplement en faisant une requête
Regroupement.

A suivre...

Annette
---------------------------------------------------------------------------
www.horizon-micro.com


"Mathias Mattiuzzo" a écrit dans le
message de news: 057b01c3b590$107de4f0$
Bonjour à tous,

J'ai créé est une base documentaire dans laquelle j'ai
classé chaque document dans un enregistrement différent.
Dans cette base qui contient une table principale dans
laquelle sont stockés les enregistrement de chaque
document, j'ai attribué à un des champ le nom "mots clés"
dans lequel j'ai saisi un ou plusieurs mots clés.

Je souhaite maintenant créer une requête qui me permettra
d'effectuer une simple recherche par mot clé et qui
classera les enregistrements en fonction de la pertinence
des résultats. Ex : au début les enregistrements dans
lesquels tous les mots clés recherchés sont présents et en
dernier les enregistrements dans lesquels un seul des mots
est présent.

L'idéale serait de pouvoir effectuer cette recherche via
un formulaire ou une boîte de dialogue.

Merci d'avance.

Mathias Mattiuzzo.
Avatar
Mathias MAttiuzzo
Merci beaucoup, c'est un bon début car cela fonctionne
très bien.


-----Message d'origine-----
Bonjour.

La solution simple et un peu simpliste est de mettre un
critère Like "*" &

Lemotcle & "*" ce qui permet d'obtenir tous les
enregistrements contenant

le mot composé dans une partie d'un mot-clé du champ des
mots clés.

pour la pertinence, c'est plus difficile, car il faut
compter le nombre

d'occurences mais en fonction de la recherche en tenant
compte des mots

entiers ou partiels et là ça se corse.
Bien entendu il faut faire toute la préparation d ela
requête à partir d'un

formulaire.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Mathias Mattiuzzo"
a écrit dans le

message de news:057b01c3b590$107de4f0$
Bonjour à tous,

J'ai créé est une base documentaire dans laquelle j'ai
classé chaque document dans un enregistrement différent.
Dans cette base qui contient une table principale dans
laquelle sont stockés les enregistrement de chaque
document, j'ai attribué à un des champ le nom "mots clés"
dans lequel j'ai saisi un ou plusieurs mots clés.

Je souhaite maintenant créer une requête qui me permettra
d'effectuer une simple recherche par mot clé et qui
classera les enregistrements en fonction de la pertinence
des résultats. Ex : au début les enregistrements dans
lesquels tous les mots clés recherchés sont présents et en
dernier les enregistrements dans lesquels un seul des mots
est présent.

L'idéale serait de pouvoir effectuer cette recherche via
un formulaire ou une boîte de dialogue.

Merci d'avance.

Mathias Mattiuzzo.


.



Avatar
Mathias Mattiuzzo
En effet le mots clés sont saisis à la suite en étant
séparés par une virgule. Mais ton idées est très bonne
cela me permettrai en plus de pourvoir créer une liste de
choix afin de sélectionner un thème.

Merci beaucoup.

-----Message d'origine-----
Bonjour Mathias,

dois-je comprendre que tes mots-clés sont dans UN seul
champ séparés par des

virgules ou quelque chose comme ça ?
En mettant tous les mots-clés dans un même champ, tu ne
peux déjà pas

effectuer de tri cohérent.
Il me semble que, s'il est encore temps, tu aurais
intérêt à revoir la

structure de ta base.

Personnellement, j'aurais créé une table T_MotsCles et
une table de liaison

entre la T_Documents et la T_MotsCles
(T_Documents_MotsCles par exemple).

Chaque mot-clé serait ainsi dissocié des autres,
sélectionnable dans une

liste déroulante (donc en limitant les risques d'erreur
de saisie pour un

même mot), et surtout, plus facile à identifier donc à
dénombrer. Tu

pourrais classer tes documents simplement en faisant une
requête

Regroupement.

A suivre...

Annette
----------------------------------------------------------
-----------------

www.horizon-micro.com


"Mathias Mattiuzzo"
a écrit dans le

message de news: 057b01c3b590$107de4f0$
Bonjour à tous,

J'ai créé est une base documentaire dans laquelle j'ai
classé chaque document dans un enregistrement différent.
Dans cette base qui contient une table principale dans
laquelle sont stockés les enregistrement de chaque
document, j'ai attribué à un des champ le nom "mots clés"
dans lequel j'ai saisi un ou plusieurs mots clés.

Je souhaite maintenant créer une requête qui me permettra
d'effectuer une simple recherche par mot clé et qui
classera les enregistrements en fonction de la pertinence
des résultats. Ex : au début les enregistrements dans
lesquels tous les mots clés recherchés sont présents et en
dernier les enregistrements dans lesquels un seul des mots
est présent.

L'idéale serait de pouvoir effectuer cette recherche via
un formulaire ou une boîte de dialogue.

Merci d'avance.

Mathias Mattiuzzo.


.