Access - Formulaire de recherche avec caractères génériques

Résolu
Asperge09 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je veux créer un formulaire de recherche qui me permettrait de retrouver un enregistrement qui contient un la chaine de caractères que j'ai tapé dans une zone de texte. Pour cela j'ai essayer d'afficher une requête sur le formulaire, je choisis comme critère de cette requête *[Forms]![Recherche]![Zone_de_texte1] *. Vous l'aurez bien compris ça ne fonctionne pas j'ai aussi essayé:
"*"&[Forms]![Recherche]![Zone_de_texte1] &"*" ou *'[Forms]![Recherche]![Zone_de_texte1]'*

A noter que j'ai essayé avec un critère sans caractère générique ([Forms]![Recherche]![Zone_de_texte1]), ça fonctionne très bien. J'ai aussi essayé de mettre en critère directement une valeur test par exemple 2 (*2*) ,et tout fonctionnait bien.

Je ne m'y connais pas vraiment en SQL, si quelqu'un connaitrait la bonne syntaxe à employer ou un moyen d'appliquer des caractères génériques dans une liste, je vous remercierait grandement
A voir également:

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
peux-tu partager les sources SQL de tes différents essais?
0
Asperge09 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Requête 1: Dans un premier temps j'ai testé que la requête renvoie bien les enregistrement voulus lorsque je tape la référence complète. Toout fonctionne bien
SELECT Mouvements.IDMouv, Mouvements.Type, Mouvements.[Affaire / Bdc], Mouvements.Date
FROM Mouvements
WHERE (((Mouvements.[Affaire / Bdc])=[Forms]![Recherche affaire test 1]![Zone de texe choix affaire]));


Requête 2: Ensuite je teste avec "21" comme exemple. La requête me renvoie bien la liste de toutes les affaires qui comportent "21".
SELECT Mouvements.IDMouv, Mouvements.Type, Mouvements.[Affaire / Bdc], Mouvements.Date
FROM Mouvements
WHERE (((Mouvements.[Affaire / Bdc]) Like "*21*"));


Requête 3: Je veux faire un mix des deux, idéalement si je tape 21 dans la zone de texte, cette requête devrait me renvoyer les mêmes enregistrement que la requête 2. J'ai testé avec plusieurs syntaxes mais le résultat est toujours le même: la requête ne me renvoie aucun enregistrement tant que je ne met pas la référence complète (exactement comme la requête 1), les caractères génériques ne fonctionnent pas.
SELECT Mouvements.IDMouv, Mouvements.Type, Mouvements.[Affaire / Bdc], Mouvements.Date
FROM Affaire INNER JOIN Mouvements ON Affaire.Affaire = Mouvements.[Affaire / Bdc]
WHERE (((Mouvements.[Affaire / Bdc]) Like "*[Formulaires]![Recherche affaire test 3]![Zone texte choix affaire]*" Or (Mouvements.[Affaire / Bdc])="*" & [Formulaires]![Recherche affaire test 3]![Zone texte choix affaire] & "*" Or (Mouvements.[Affaire / Bdc]) Like "*'[Formulaires]![Recherche affaire test 3]![Zone texte choix affaire]'*"));
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Attention, il me semble qu'il y a des erreurs de noms dans les requêtes partagées.
moi j'essaierais:
SELECT Mouvements.IDMouv, Mouvements.Type, Mouvements.[Affaire / Bdc], Mouvements.Date
FROM Mouvements
WHERE (((Mouvements.[Affaire / Bdc]) Like "*" & "21" & "*"));

et, si cela fonctionne comme la requête 2, j'essaierais ensuite:
SELECT Mouvements.IDMouv, Mouvements.Type, Mouvements.[Affaire / Bdc], Mouvements.Date
FROM Mouvements
WHERE (((Mouvements.[Affaire / Bdc]) Like "*" & 
[Forms]![Recherche affaire test 1]![Zone de texe choix affaire]
 & "*"));
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
j'ai testé ceci, qui fonctionne bien:
SELECT  *
FROM tstlike
WHERE tstlike.[txt] like "*" & [Forms]![flike]![txtinform] & "*";
0
Asperge09 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ton aide @yg_be.
J'ai adapté ma solution à tes conseils. Cela fonctionne pour moi.

Merci beaucoup ;)
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Peux-tu alors marquer la discussion comme résolue?
1