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 -
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
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:
- Access - Formulaire de recherche avec caractères génériques
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Caractères ascii - Guide
- Caractères spéciaux - Guide
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?
peux-tu partager les sources SQL de tes différents essais?
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
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".
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 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]'*"));
Attention, il me semble qu'il y a des erreurs de noms dans les requêtes partagées.
moi j'essaierais:
et, si cela fonctionne comme la requête 2, j'essaierais ensuite:
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] & "*"));