Requête avec champs de table vide Access 2007

Fermé
urybubs Messages postés 9 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 17 septembre 2012 - 22 août 2012 à 10:44
blux Messages postés 26606 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 janvier 2025 - 24 août 2012 à 09:49
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.


A voir également:

7 réponses

urybubs Messages postés 9 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 17 septembre 2012
22 août 2012 à 12:54
Quelqu'un peut m'aider svp ???
0
blux Messages postés 26606 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 janvier 2025 3 326
22 août 2012 à 13:06
Salut,

peux-tu poster ta requête en mode SQL ?
0
urybubs Messages postés 9 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 17 septembre 2012
22 août 2012 à 15:53
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));
0
urybubs Messages postés 9 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 17 septembre 2012
23 août 2012 à 07:35
Quelqu'un pourrait me répondre svp, j'en ai vraiment besoin pour mon travail
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 26606 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 janvier 2025 3 326
Modifié par blux le 23/08/2012 à 09:41
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"
0
urybubs Messages postés 9 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 17 septembre 2012
23 août 2012 à 09:49
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 ?
0
blux Messages postés 26606 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 janvier 2025 3 326
23 août 2012 à 10:55
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...
0
urybubs Messages postés 9 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 17 septembre 2012
23 août 2012 à 12:49
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
0
blux Messages postés 26606 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 janvier 2025 3 326
23 août 2012 à 13:06
Donc, tu pourrais t'en sortir avec la propriété rowsource du formulaire à ouvrir...
Il te suffit de créer le texte de la requête en VBA, de le passer en .rowsource du formulaire avant de l"ouvrir.
0
urybubs Messages postés 9 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 17 septembre 2012
24 août 2012 à 07:17
Euh, là j'avoue que je suis un peu perdue. Je m'y connais pas du tout en VBA.
En tout cas c'est gentil d'avoir pris du temps pour me répondre, merci beaucoup !
0
blux Messages postés 26606 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 janvier 2025 3 326
24 août 2012 à 09:49
ben si tu veux, on peut aller plus loin dans les explications et voir comment on peut faire cela...
0