Requête avec champs de table vide Access 2007
urybubs
Messages postés
9
Statut
Membre
-
blux Messages postés 2046 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 2046 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai une table : table1 avec plusieurs champs : champ1, champ2, champ3
J'ai créé une requête qui me permet d'effectuer une recherche par rapport au champ3.
Voici ce que j'ai tapé dans Critères : Comme "*"+Nz([Formulaires]![Formulaire de recherche]![Texte1];[champ3])+"*" Ou Est Null
(J'ai rajouté le Ou Est Null afin de pouvoir voir tous mes enregistrements si je ne tape rien dans la barre de recherche)
Je suis confrontée à un problème :
- Lorsque je tape quelque chose dans ma barre de recherche, j'obtiens les résultats qui contiennent le champ3 vide et ceux qui contiennent les résultats de ma recherche.
Or, je voudrais avoir seulement les résultats de ma recherche.
J'ai une table : table1 avec plusieurs champs : champ1, champ2, champ3
J'ai créé une requête qui me permet d'effectuer une recherche par rapport au champ3.
Voici ce que j'ai tapé dans Critères : Comme "*"+Nz([Formulaires]![Formulaire de recherche]![Texte1];[champ3])+"*" Ou Est Null
(J'ai rajouté le Ou Est Null afin de pouvoir voir tous mes enregistrements si je ne tape rien dans la barre de recherche)
Je suis confrontée à un problème :
- Lorsque je tape quelque chose dans ma barre de recherche, j'obtiens les résultats qui contiennent le champ3 vide et ceux qui contiennent les résultats de ma recherche.
Or, je voudrais avoir seulement les résultats de ma recherche.
7 réponses
-
-
Salut,
peux-tu poster ta requête en mode SQL ?
-
Voilà ce que j'ai en mode SQL :
SELECT Table1.Champ1, Table1.Champ2, Table1.Champ3
FROM Table1
WHERE (((Table1.Champ3) Like "*"+Nz([Formulaires]![Formulaire de recherche]![Texte1],[Champ3])+"*" Or (Table1.Champ3) Is Null)); -
Quelqu'un pourrait me répondre svp, j'en ai vraiment besoin pour mon travail
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Supprime ton Or (Table1.Champ3) Is Null
Et modifie ton Nz pour renvoyer une chaine vide si rien n'est saisi, au lieu de champ3 :
Nz([Formulaires]![Formulaire de recherche]![Texte1],"")
Ca devrait marcher...
A+ blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
-
Ca marche pour quand je tape quelque chose dans ma recherche, mais le problème c'est que lorsque je ne tape rien dans ma barre de recherche, je n'obtient que les enregistrements où Champ3 est rempli, or je veux afficher tous les enregistrements (même ceux où Champ3 n'est pas rempli).
C'est possible ?-
effectivement, ma solution ne marche pas, je ne sais même pas si on peut s'en sortir avec un iif.
Car en fait, ce sont deux requêtes distinctes qu'il faudrait exécuter, en fonction de la valeur du champ du formulaire...
Comment lances-tu ta requête ?
Car si c'est en appuyant sur un bouton, on peut sûrement arranger les choses avec du VBA...
-
-
En fait, j'utilise un formulaire de recherche où je tape ma recherche, ensuite j'ai un bouton qui ouvre le formulaire associé à la requête