Requête avec champs de table vide Access 2007

urybubs Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 27145 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.


A voir également:

7 réponses

urybubs Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Quelqu'un peut m'aider svp ???
0
blux Messages postés 27145 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

peux-tu poster ta requête en mode SQL ?
0
urybubs Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 27145 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention  
 
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 27145 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention  
 
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 27145 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention  
 
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 27145 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
ben si tu veux, on peut aller plus loin dans les explications et voir comment on peut faire cela...
0