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 -
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.
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:
- Requête avec champs de table vide Access 2007
- Table ascii - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Table des matières word - Guide
- Supprimer page word vide - Guide
- Caractere vide - Guide
7 réponses
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));
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));
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 :
A+ blux
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 ?
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...
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...