Bonjour.
Je sais qu'il y a déjà eu des discussions autour de ce sujet, mais je n'ai pas vu la réponse à mon problème qui ne doit pourtant pas être bien compliquée (moi je ne suis qu'un débutant )
Donc je fais une base de données sous Access 2007 de recherches de documents à partir de mots clés.
Dans la table des documents, il y a un champ où des mots clés sont indiqués.
J'ai mis sur un formulaire trois champs vides où l'on peut y indiquer des mots clés suivant ce que l'on recherche : mot clé 1, mot clé 2 et mot clé 3.
J'ai une requête qui me permet de rechercher les documents associés en utilisant : le mot clé 1 ou le mot clé 2 ou le mot clé 3. Cela fonctionne très bien
Mais j'ai mis aussi une requête pour rechercher les documents en utilisant le mot clé 1 ET le mot clé 2 ET le mot clé 3. Biensûr ça ne marche pas étant donné que le mot clé 3 peut être un champ vide.
Je ne vois pas du tout comment je pourrais lui dire de ne pas prendre en compte les champs du formulaire s'ils sont vides...
Voici ma requête :
(la table s'appelle : "documents", le formulaire où on indique les mots clés s'appelle "recherche")
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT documents.[mots clés], documents.N°, documents.Nom, documents.Thème, documents.[Lien vers le fichier ou le site], documents.Notes FROM documents WHERE (((documents.[mots clés]) Like "*" & ([forms]![recherche]![motclé1]) & "*" And (documents.[mots clés]) Like "*" & ([forms]![recherche]![motclé2]) & "*" And (documents.[mots clés]) Like "*" & ([forms]![recherche]![motclé3]) & "*") AND (([forms]![recherche]![motclé1]) Not Like "mot clé") AND (([forms]![recherche]![motclé2]) Not Like "mot clé") AND (([forms]![recherche]![motclé3]) Not Like "mot clé"));
Si quelqu'un peut me sortir de cette impasse :/
Merci
Partager