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

Expression dans requête

4 réponses
Avatar
Luis
Bonjour,
J'aimerai savoir comment est-ce que l'on écrit:
If IsNull([Forms]![Formulaire].[Champ]) Then
Exit Sub
End If

Dans les critères d'une requête sélection.
A bientôt et merci.
Luis

4 réponses

Avatar
Dan
"Luis" a écrit dans le message de news:

Bonjour,
J'aimerai savoir comment est-ce que l'on écrit:
If IsNull([Forms]![Formulaire].[Champ]) Then
Exit Sub
End If

Dans les critères d'une requête sélection.
A bientôt et merci.
Luis


Bonjour Luis,

On n'écrira pas ça dans la requête...
On peut en revanche :
- tester si le champ est nul, et n'exécuter la requête que s'il ne l'est
pas;
- ou faire en sorte que la requête renvoie une valeur nulle ("" ou 0), avec
la fonction NZ()...

A+ Dan

Avatar
Luis
Bonjour Dan,
Pour qu'elle renvoi 0 ou "" on peut faire par exemple comme ça:

Nz([Forms]![Formulaire].[Champ];0)

Mais comment faire pour que la requête ne s'exécute pas si la valeur du
[Champ] est 0 ou ""?
Merci pour ton aide.
Luis




"Luis" a écrit dans le message de news:

Bonjour,
J'aimerai savoir comment est-ce que l'on écrit:
If IsNull([Forms]![Formulaire].[Champ]) Then
Exit Sub
End If

Dans les critères d'une requête sélection.
A bientôt et merci.
Luis


Bonjour Luis,

On n'écrira pas ça dans la requête...
On peut en revanche :
- tester si le champ est nul, et n'exécuter la requête que s'il ne l'est
pas;
- ou faire en sorte que la requête renvoie une valeur nulle ("" ou 0), avec
la fonction NZ()...

A+ Dan






Avatar
Dan
J'imagine qu'il y a un événement déclenché quelque part : une mise à jour
d'un contrôle, un clic sur un bouton, etc...
Tu peux tester dans la procédure événementielle ton
Nz([Forms]![Formulaire].[Champ];0)

Exemple :
Supposons que tu souhaites que Champ2 prenne la valeur de Champ1 si Champ1
n'est pas nul, et ceci chaque fois que Champ1 est mis à jour...
Sur l'événément AfterUpDate (Après MAJ) de Champ1, écris une procédure
événementielle du genre

If Nz(Me.Champ1;0) <>0 Then
Me.Champ2 = Me.Champ1
End If

Regarde aussi les propriétés Nul Interdit au niveau de ta table, ainsi que
le masque de saisie, etc...

A+ Dan
Avatar
Luis
Bonjour,
Non il n'y a pas de champ 2.
J'aimerai que si le champ du formulaire est vide la requête ne s'exécute pas.
Alors c'est pour cette raison que j'aimerai savoir ce qu'il faut mettre dans
le critère de la requête.

J'ai essayé comme celà mais ça ne fonctionne pas:

<Nz([Forms]![Formulaire].[Champ])
Car si le [Champ] est vide la requête s'exécute et j'ai zéro sélections.
Luis


J'imagine qu'il y a un événement déclenché quelque part : une mise à jour
d'un contrôle, un clic sur un bouton, etc...
Tu peux tester dans la procédure événementielle ton
Nz([Forms]![Formulaire].[Champ];0)

Exemple :
Supposons que tu souhaites que Champ2 prenne la valeur de Champ1 si Champ1
n'est pas nul, et ceci chaque fois que Champ1 est mis à jour...
Sur l'événément AfterUpDate (Après MAJ) de Champ1, écris une procédure
événementielle du genre

If Nz(Me.Champ1;0) <>0 Then
Me.Champ2 = Me.Champ1
End If

Regarde aussi les propriétés Nul Interdit au niveau de ta table, ainsi que
le masque de saisie, etc...

A+ Dan