[Access 2003] Recherche dans champs à plusieurs valeurs

Fermé
Meuhlize Messages postés 3 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 7 mars 2013 - 25 févr. 2013 à 14:46
 tessel75 - 7 déc. 2013 à 16:55
Bonjour !
Je travaille depuis peu sur access, et je crée une base de données de textes. Je veux créer un champs "mots clés" pour faciliter les recherches dans cette base. Est il possible de mettre plusieurs mots clés indépendants dans un même champs ? Et lorsque j'effectuerai une recherche par mot clé, est ce que le logiciel cherchera parmi ces mots individuellement ?

Par exemple :
Article 1 - mots clés : A, B, C
Article 2 - mots clés : B, E

Il faudrait que, si je lance une recherche de mots clés "A", le logiciel me donne l'article 1 et si je cherche B, l'article 1 et 2.

Merci !



9 réponses

Louise54 Messages postés 3 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 13 mai 2013 1
16 avril 2013 à 12:10
Bonjour,

Merci de m'avoir répondu aussi vite. J'ai pris en compte vos explications mais je pense m'être mal expliquée. Je vais détailler un peu.

J'ai une table MOT-CLEF qui comporte 2 champs : CODEMOT (celf primaire) et MOT-CLEF (qui me permet d'alimenter ma liste avec des mots-clef pas encore défini).

Et une table DOUCMENT avec des champs comme Titre, Date... Et Mot-clef. Ce dernier étant en relation avec la clef primaire de la table MOT-CLEF et a pour type de donnée : zone de liste.

J'ai également un formulaire de saisie pour rentrer les documents. Je voudrais sélectionner plusieurs mot-clef grâce à un contrôle Mot-clef relier à mon champs mot-clef de ma table document. Je veux que les mot-clef selectionner dans mon formulaire lors de ma saisie d'enregistrent dans le champs (logique, c'est le but d'une formulaire). Mais mon formulaire me propose seulement une liste de mes quelques mot-clef que j'ai rentré pour essai et je peux en séléctionner qu'un seul.
Ce qui me pose problème puisqu'un livre peut avoir plusieurs mot-clef.

Je ne sais pas si c'est très clair, j'ai fais de mon mieux.
Si vous ne pouvez pas répondre, je vais essayer de décrytper les forum dans les archives du forum d'access.
Je vous remercie déjà de m'avoir répondu aussi vite et avec des explications claires (surtout pour la dernière partie).
Et merci d'avance.
1
Bonsoir,
Hormis le fait de mettre plusieurs mots-clés dans un même champ qui est un peu bizarre, mais pourquoi pas, il faudra que la recherche soit fondée sur une requête dont le critère de sélection sera de la forme: " Comme "*A*B*C*" " ("Like" en VBA), (Attention aux guillemets).
" * " est le caractère générique de Access, donc il faudra le placer systématiquement avant et après le mot-clé recherché pour être certain que s'il se trouve au milieu d'une liste, il sorte bien.
Par ailleurs, si vous voulez sortir plusieurs mots-clés en même temps, soit distincts soit combinés, il faudra jongler avec les "Et" et les "Ou"
A voir le didacticiel sur les caractères génériques dans Access.
Bon courage
0
Meuhlize Messages postés 3 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 7 mars 2013
7 mars 2013 à 14:56
Bonjour,
D'abord, merci de votre aide et pardonnez ma réponse tardive, j'ai eu quelques soucis d'internet.
J'ai bien réussi comme vous me l'expliquiez avec les *.
Je suis par contre de nouveau coincée : le but final de mon travail est une bibliothèque en ligne accessible à tous. Dans la requête de recherche par mots-clés, j'ai donc employé la formule suivante :
Critères : Comme [Quels mots-clés]
Est-il possible de programmer pour que les étoiles s'ajoutent automatiquement (qu'il ne faille pas les taper à chaque fois) ?
J'ai essayé Comme *[Quels mots-clés]*, avec des " et des ', rien ne marche.

Merci !
0
Meuhlize Messages postés 3 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 7 mars 2013
7 mars 2013 à 17:23
Re-bonjour,
J'ai trouvé la solution !
Donc en critère : Comme "*"+[Quels mots-clés]+"*"
Bonne soirée !
0
Super, je suis contente d'avoir trouvé cette astuce dans ce forum mais malheureusement je viens de changer d'office. Et sur office 2010 , cette requête ne fonctionne pas :-( .
Est ce quelqu'un a la solution
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Louise54 Messages postés 3 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 13 mai 2013 1
15 avril 2013 à 16:13
Bonjour,

Je fais également une base de données sous access 2003 et votre question semble interessante pour répondre à la mienne.

Je n'arrive pas, lors de ma saisie, à proposer plusieurs mot-clef pour un enregistrement.
Exemple : Document 1 a pour mot-clef A, B et D. Mon document 2 ; B, C et D.
Je ne sais comment faire pour pouvoir en séléctionner plusieurs.

Merci d'avance.
0
Bonsoir,
D'abord, félicitations pour t'être donné la peine de rechercher une réponse s'approchant de celle que tu cherches. C'est si rare que ça mérite d'être souligné.
Pour pouvoir répondre à peu près correctement à ta question, il faut savoir comment est construit ton document principal, ici ta table avec ses champs, et éventuellement le formulaire qui présente les enregistrements de ta table.
La question qui se pose alors est de savoir si tes mots-clés figurent dans le même champ ou dans des champs différents, et dans quel ordre. Pour illustrer :
Les Trois Mousquetaires :
Mot-clé1 = trois, mousquetaires,
Mot-clé2 = roman, France
Mot-clé2 = Cape, épée

ou bien
Mot-clé1 = roman, France ,
Mot-clé2 = Cape, épée
Mot-clé2 = trois, mousquetaires

ou bien un seul mot pour chacun des mots-clés.
Comme le plus souvent ce genre de recherche se fait par l'intermédiaire d'un formulaire dans lequel on entre les mots-clés au travers de contrôle prévus pour cela, il te faudra soit autant de contrôles d'appel que tu as de champs où peuvent se trouver les mots recherchés, ou bien construire ta requête de telle sorte que tous les champs (ou LE champ) soient interrogés en même temps. Dans tous les cas, il te faut prévoir une requête qui recherche le bon mot dans le bon champ. A toi de faire preuve d'imagination pour couvrir tous les cas possibles, tant dans la recherche que dans la façon dont les champs mots-clés seront remplis par les utilisateurs.

Pour le reste, comme j'avais pu le dire précédemment et aussi comme a pu le trouver Meuhlize, il te faudra jongler avec les "et" et les "ou" et aussi les "&" (qui sont la concaténation comme les "+")

Bonne suite.
0
Bonsoir,
Merci d'avoir regardé ma réponse.
Pour être honnête, comme j'ai fait mes 1ers pas sur Access avec la version 2 puis 98 (j'ai la version 2010 aujourd'hui, rassure-toi), je n'ai pas pris la peine d'apprendre les tables ayant comme type de données Liste Déroulantes. J'ai appris à faire sans; il suffit d'avoir des tables adjacentes.
Cela dit, je trouve tout de même un peu bizarre d'avoir une table distincte pour tes mots-clés; il me semblerait plus simple d'avoir dans la même table "DOCUMENT" des champs MotCle1, MotCle2, MotCle3, etc. Parce qu'avec tes 2 tables se pose la question de savoir comment vont être organisées tes liaisons un à plusieurs.
Tu réponds: "une table DOCUMENT avec des champs comme Titre, Date... Et Mot-clef. Ce dernier étant en relation avec la clef primaire de la table MOT-CLEF" . Cela laisse entendre que le côté "un" est du côté de la table "MotCle", ce qui est étrange parce qu'advient-il quand tu as besoin de plusieurs mots-clés pour le même document, ce qui arrive presque tout le temps. Mais je laisse de côté cette question pour le moment, et j'y répondrai plus tard si tu le souhaite.
Pour en rester à la question de la sélection pour faire sortir le document recherché par sélection d'un mot-clé, la difficulté est bien celle que je disais de savoir comment et dans quel ordre sont-ils entrés. Et c'est là que tu dois jongler avec les " * ", les "ET" et les "OU".
La solution ne peut pas être simple, aussi je te conseillerai d'avoir plusieurs contrôles dans ton formulaire de recherche, 4 ou 5, où tu puisses entrer les mots-clés voulus, la requête-source des listes déroulantes étant la même pour les 4 ou 5, mais le mot choisi étant différent évidemment. Et pour ta requête de recherche proprement dite le critère serait du type: "Comme "motCle1" ou comme "MotCle2" ou etc".

Enfin, il est normal que ta liste déroulante ne t'affiche que les mots que tu entré en exeple puisque c'est les seuls qui sont dans ta liste "MotCles". De même, il est normal que tu ne puisses en sélectionner qu'un seul puisque chacun correspond à un enregistrement; tu ne peux pas espérer sélectionner plusieurs enregistrements en même temps avec une liste déroulante.
En espérant avoir été un peu clair. Moi aussi j'ai fait de mon mieux.
0
Louise54 Messages postés 3 Date d'inscription lundi 15 avril 2013 Statut Membre Dernière intervention 13 mai 2013 1
13 mai 2013 à 11:23
Bonjour,

Je m'excuse du retard mais je vous remercie sincèrement de la claireté de vos réponses qui m'ont été d'une grande utilité.
J'ai réussit à résoudre mon problème et cela grâce, entre autre, à vos explications.
0
Bonsoir Misfits,
"je viens de changer d'office. Et sur office 2010 , cette requête ne fonctionne pas :-( . "

De quelle requête parles-tu? Je ne comprends pas, moi aussi j'ai changé de logiciel (2000 vers 2010), je n'ai pas l'impression d'avoir rencontré un tel problème.
0