[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
tessel75 - 7 déc. 2013 à 16:55
A voir également:
- Access plusieurs valeurs dans un même champ
- Nous ne pouvons pas résumer ce champ avec somme ✓ - Forum Excel
- Le nom du champ de tableau croisé dynamique n'est pas valide - Forum Excel
- Hns-self-wan-access-ipv6 ✓ - Forum Réseau
- Access appdata - Guide
- Quick access service - Forum Logiciels
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
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.
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.
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
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
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
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 !
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 !
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
7 mars 2013 à 17:23
Re-bonjour,
J'ai trouvé la solution !
Donc en critère : Comme "*"+[Quels mots-clés]+"*"
Bonne soirée !
J'ai trouvé la solution !
Donc en critère : Comme "*"+[Quels mots-clés]+"*"
Bonne soirée !
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
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.
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.
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.
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.
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.
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.
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
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.
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.