Recherche par Mots clé en access

lina02 Messages postés 21 Statut Membre -  
 Fabulle -
Bonjour,
j'ai crée une base de données en acces pour une gestion d'une petite bibliothèque.
Est-il possible de faire une reqête en utilisant plusieurs mots clés pour chercher un titre d'un document.
Merci beaucoup

2 réponses

mira
 
je suis en train de créer une requête du même type. et en effet, je ne sais pas combien j'aurais de mots-clé en tout. comment créer une requête à la volée?? merci
1
bubullesoft
 
dans la requete

like "*"+vmotrecherche+"*"

ce qui va ouvrir une boite de dialogue ou tu saisiras ta recherche
0
MaxEA > bubullesoft
 
Je suis sur le même genre problème, peux tu détailler ce like "*"+vmotrecherche+"*" tu insères ça ou? Comment la boite de dialogue est-elle ouverte??
0
Smart
 
salut
0
Smart
 
j'avais le même prblem et c reglé.
MAX... tu n'as qu' à rajouter ceci dans ta requete en mode création sous CRITERS tu mets:
like [Entrer le Mot ou une partie du mot Clé à rechercher ]+"*"
puis tu enregistre ta requete et tu ferme.
exute ta requete la fentre s'ouvre te demandant ce qu tu as mis entre les crochets ...ici il m'affiche:Entrer le Mot ou une partie du mot Clé à rechercher.
Astuce: tu peut creer un formulaire indepandant avec un bouton de recheche executant votre requete
0
Smart
 
pour créer le bouton: creer formulaire en mode création puis sur la boite à outils prend l'outil Commande et trace sur la grille du formulaire.. dans la fenetre qui s'ouvre choisit DIVERS->Exécuter une Rquete->>>Choisit ta fameuse REQUETE qu tu v1 de créer...Suivant ...sui l'Assistant et cocher TEXTE et nommer votre Bouton comme vs voulez, ben moi je l'ai aplé RECHERCHE....Terminer....bravo c fé... enregisterer votre formulaire... et relancer-le ...notre amie fenetre s'ouvre et vous parle:...Entrer le Mot ou une partie du mot Clé à rechercher.....
j'espere qu ça peu servir un ProACCESS2003... un jour...
0
blux Messages postés 27997 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

il suffit de créer plusieurs conditions like :

SELECT titre WHERE titre like "*fleurs*" OR "*mal*";
Cherche tout ce qui contient "fleurs" OU "mal"

SELECT titre WHERE titre like "*fleurs*" AND "*mal*";
Cherche tout ce qui contient "fleurs" ET "mal"

Pas de limite connue sur le nombre de conditions.

Par contre, si tu ignores le nombre de mots-clés (ce qui doit être le cas, je pense), il te faudra créer une requête à la volée après avoir récupéré la saisie de l'utilisateur.
0
lina02 Messages postés 21 Statut Membre
 
merci beaucoup
0
lina02 Messages postés 21 Statut Membre
 
Bonjour,
C'est toujours moi, la requête par mot clé ça marche bien mais le problème comment la transmettre au formulaire?, pour que chaque utilisateur tape un ou plusieurs mots clé, la réponse s'affiche au formulaire.
Mr zenon m'a donné une solution qui est la suivante
Crée un formulaire indépendant; dans la section en-tête, ajoute une zone de texte indépendante.

Ensuite, avec l'assistant (en cliquant dans la boite à outils sur la "baguette magique"), crée une zone de liste.
(choisir "recherche...valeurs... dans table" puis choisir la table qui contient les valeurs recherchées et les champs nécessaires)

Ensuite, dans les propriétés de la liste (clic droit sur la liste; propriétés), sous l'onglet "données", clique à droite de la ligne "contenu". L'assistant création de requête s'ouvre et à la ligne critères, en dessous du champ dans lequel tu veux réaliser la recherche, tapes : Comme "*"&Me![NomDeTaZoneDeTexte]&"*"

(Comme te l'a expliqué Blux, les "*" permettent ne ne pas limiter la recherche à la chaîne exacte de caractères du champ)

Enfin, dans les propriétés de la zone de texte, sous l'onglet événement, après Maj, choisis "ProcédureEvénementielle" et tape, entre Sub... et EndSub: [NomDeLaListeModifiable].Requery

Tu suis toujours?

Ensuite, on peut compléter, par exemple trier selon plusieurs critères comme le nom de l'auteur, la maison d'édition...

On peut aussi ouvrir un formulaire permettant de modifier les données de la table en cliquant sur la ligne ad hoc de la zone de liste.

Je ne suis pas arrivé à appliquer directement un filtre dans un formulaire. Je ne comprends pas pourquoi...

mais malheureusement çà n'a pas marché.
Si pourriez-vous m'aider? et merci infiniment.
0