Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ma fonction ne retourne pas toutes les enregistrements d'une requête

5 réponses
Avatar
Carine
Bonjour,
Dans une requ=EAte, j'ai ins=E9r=E9 en crit=E8re ma fonction casX(), elle
fonctionne quand la valeur d'un champ n'est pas null donc casX=3D1

N=E9anmoins lorsque Forms![Resultat]![Rechercher_Cas]) =3D True, je
voudrais que la requ=EAte retourne toutes les enregistrements de
celle-ci. Je pensais pouvoir le faire en mettant casX =3D Null. Cela ne
marche pas avec cette condition. Avez-une id=E9e =E0 ma probl=E9matique

Voici ma fonction que j'ai ins=E9r=E9 dans un module

Function casX() As Variant

If IsNull(Forms![Resultat]![Rechercher_Cas]) =3D True Then
casX =3D Null
Else
casX =3D 1
End If
End Function

Carine,

5 réponses

Avatar
Eric
Bonjour Carine,

Puisque tu veux faire retourner tous les enregistrements de la requête
si le champ du formulaire est Null, je ne passerai pas par ta fonction,
celle-ci, dans ce cas, retournant Null et donc la requête ne renverra
que les enregistrements pour lesquels le champ est Null, ce que tu ne
veux pas.

Personnellement, je mettrai sur le champ concerné en critère:
VraiFaux(EstNull([Forms]![Resultat]![Rechercher_cas]);[LeChampConcerné];1)

Ainsi, si [Rechercher_cas] est Null, tu récupères toutes les valeurs de
[LeChampConcerné] sinon tu filtres pour [LeChampConcerné]=1.

Bonjour,
Dans une requête, j'ai inséré en critère ma fonction casX(), elle
fonctionne quand la valeur d'un champ n'est pas null donc casX=1

Néanmoins lorsque Forms![Resultat]![Rechercher_Cas]) = True, je
voudrais que la requête retourne toutes les enregistrements de
celle-ci. Je pensais pouvoir le faire en mettant casX = Null. Cela ne
marche pas avec cette condition. Avez-une idée à ma problématique

Voici ma fonction que j'ai inséré dans un module

Function casX() As Variant

If IsNull(Forms![Resultat]![Rechercher_Cas]) = True Then
casX = Null
Else
casX = 1
End If
End Function

Carine,



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Carine
Bonjour Eric,
Merci pour ta réponse, il y a du mieux par rapport à tes suggestions
par contre tous les enregistrements ne s'affiche pas en fait aucun
enregistrement ne s'affiche lorsque la case à cocher est grisée.

J'ai donc remplacé ma fonction par dans le champ critère d'une
requête :

VraiFaux(EstNull([Formulaires]![resultat]);[Rechercher_Cas];1)

Lorsque je coche dans mon formulaire la case à cocher nommé
Rechercher_Cas, la requête me retourne tous les enregistrements
cochés,

Lorsque je décoche dans mon formulaire la case à cocher nommé
Rechercher_Cas, la requête me retourne tous les enregistrements non
cochés,


Par contre :
Lorsque la case à cocher est ni cochée, ni non cochée (c'est le cas
à l'ouverture de mon formulaire "Resultat") dans mon formulaire la
case à cocher nommé Rechercher_Cas, la requête me retourne aucun
enregistrement alors je cherche à afficher au contraire tous les
enregistrements.

Je sèche sur ce dernier critère.

Carine,



Bonjour Carine,

Puisque tu veux faire retourner tous les enregistrements de la requête
si le champ du formulaire est Null, je ne passerai pas par ta fonction,
celle-ci, dans ce cas, retournant Null et donc la requête ne renverra
que les enregistrements pour lesquels le champ est Null, ce que tu ne
veux pas.

Personnellement, je mettrai sur le champ concerné en critère:
VraiFaux(EstNull([Forms]![Resultat]![Rechercher_cas]);[LeChampConcerné] ;1)

Ainsi, si [Rechercher_cas] est Null, tu récupères toutes les valeurs de
[LeChampConcerné] sinon tu filtres pour [LeChampConcerné]=1.

Bonjour,
Dans une requête, j'ai inséré en critère ma fonction casX(), el le
fonctionne quand la valeur d'un champ n'est pas null donc casX=1

Néanmoins lorsque Forms![Resultat]![Rechercher_Cas]) = True, je
voudrais que la requête retourne toutes les enregistrements de
celle-ci. Je pensais pouvoir le faire en mettant casX = Null. Cela ne
marche pas avec cette condition. Avez-une idée à ma problématique

Voici ma fonction que j'ai inséré dans un module

Function casX() As Variant

If IsNull(Forms![Resultat]![Rechercher_Cas]) = True Then
casX = Null
Else
casX = 1
End If
End Function

Carine,



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr



Avatar
Eric
Bonsoir Carine,

Si tu veux gérer les 3 cas tu dois mettre en critere du champ concerné :

VraiFaux(EstNull([Formulaires]![Resultat]![Rechercher_Cas]);[LeChampConcerné];[Formulaires]![Resultat]![Rechercher_Cas])

Un exemple bateau ici : http://cjoint.com/?htx3bPkTWl

Il s'agit d'afficher les clients pour lesquels une confirmation de
commande est demandée. A l'ouverture du formulaire la case à cocher
n'est pas définie donc valeur = Null et si tu cliques sur le bouton tu
les auras tous dans la requête.

Bonjour Eric,
Merci pour ta réponse, il y a du mieux par rapport à tes suggestions
par contre tous les enregistrements ne s'affiche pas en fait aucun
enregistrement ne s'affiche lorsque la case à cocher est grisée.

J'ai donc remplacé ma fonction par dans le champ critère d'une
requête :

VraiFaux(EstNull([Formulaires]![resultat]);[Rechercher_Cas];1)

Lorsque je coche dans mon formulaire la case à cocher nommé
Rechercher_Cas, la requête me retourne tous les enregistrements
cochés,

Lorsque je décoche dans mon formulaire la case à cocher nommé
Rechercher_Cas, la requête me retourne tous les enregistrements non
cochés,


Par contre :
Lorsque la case à cocher est ni cochée, ni non cochée (c'est le cas
à l'ouverture de mon formulaire "Resultat") dans mon formulaire la
case à cocher nommé Rechercher_Cas, la requête me retourne aucun
enregistrement alors je cherche à afficher au contraire tous les
enregistrements.

Je sèche sur ce dernier critère.

Carine,


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Carine
Bonsoir Eric,
Impeccable, maintenant le filtre fonctionne. Merci encore pour ton
aide.
Carine


Bonsoir Carine,

Si tu veux gérer les 3 cas tu dois mettre en critere du champ concern é :

VraiFaux(EstNull([Formulaires]![Resultat]![Rechercher_Cas]);[LeChampConce rné];[Formulaires]![Resultat]![Rechercher_Cas])

Un exemple bateau ici : http://cjoint.com/?htx3bPkTWl

Il s'agit d'afficher les clients pour lesquels une confirmation de
commande est demandée. A l'ouverture du formulaire la case à cocher
n'est pas définie donc valeur = Null et si tu cliques sur le bouton tu
les auras tous dans la requête.

Bonjour Eric,
Merci pour ta réponse, il y a du mieux par rapport à tes suggestions
par contre tous les enregistrements ne s'affiche pas en fait aucun
enregistrement ne s'affiche lorsque la case à cocher est grisée.

J'ai donc remplacé ma fonction par dans le champ critère d'une
requête :

VraiFaux(EstNull([Formulaires]![resultat]);[Rechercher_Cas];1)

Lorsque je coche dans mon formulaire la case à cocher nommé
Rechercher_Cas, la requête me retourne tous les enregistrements
cochés,

Lorsque je décoche dans mon formulaire la case à cocher nommé
Rechercher_Cas, la requête me retourne tous les enregistrements non
cochés,


Par contre :
Lorsque la case à cocher est ni cochée, ni non cochée (c'est le c as
à l'ouverture de mon formulaire "Resultat") dans mon formulaire la
case à cocher nommé Rechercher_Cas, la requête me retourne aucun
enregistrement alors je cherche à afficher au contraire tous les
enregistrements.

Je sèche sur ce dernier critère.

Carine,


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr



Avatar
Eric
Bonsoir,

C'était avec plaisir.
Comme quoi il ne faut jamais désespérer. ;-)

Bonsoir Eric,
Impeccable, maintenant le filtre fonctionne. Merci encore pour ton
aide.
Carine




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr