Nz, fonction

S’applique à
Access pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vous pouvez utiliser la fonction Nz pour renvoyer zéro, une chaîne nulle ( » « ) ou une autre valeur spécifiée lorsqu’une variante est Null. Par exemple, vous pouvez utiliser cette fonction pour convertir une valeur Null en une autre valeur et empêcher sa propagation dans une expression.

Syntaxe

nz(variant [, valueifnull ] )

La syntaxe de la fonction Nz comprend les arguments suivants :

Argument Description
variant Obligatoire. Variable de type de données Variant.
valueifnull Facultatif (sauf dans une requête). Variante qui fournit une valeur à retourner si l’argument variant est Null. Cet argument vous permet de renvoyer une valeur différente de zéro ou d’une chaîne de longueur nulle.
Remarque : Si vous utilisez la fonction Nz dans une expression d’une requête sans utiliser l’argument valueifnull , le résultat est une chaîne nulle dans les champs qui contiennent des valeurs null.

Si la valeur de l’argument variant est Null, la fonction Nz renvoie le nombre zéro ou une chaîne nulle (renvoie toujours une chaîne nulle lorsqu’elle est utilisée dans une expression de requête), selon que le contexte indique que la valeur doit être un nombre ou une chaîne. Si l’argument facultatif valueifnull est inclus, la fonction Nz renvoie la valeur spécifiée par cet argument si l’argument variant est Null. Lorsqu’elle est utilisée dans une expression de requête, la fonction NZ doit toujours inclure l’argument valueifnull ,

Si la valeur de variant n’est pas Null, la fonction Nz renvoie la valeur de variant.

Remarques

La fonction Nz est utile pour les expressions qui peuvent inclure des valeurs Null . Pour forcer une expression à obtenir une valeur non Null même si elle contient une valeur Null , utilisez la fonction Nz pour renvoyer une valeur zéro, une chaîne nulle ou une valeur de retour personnalisée.

Par exemple, l’expression 2 + varX renverra toujours une valeur Null lorsque la variantevarX a la valeur Null. Toutefois, 2 + Nz(varX) retourne 2.

Vous pouvez souvent utiliser la fonction Nz comme alternative à la fonction VraiVrai. Par exemple, dans le code suivant, deux expressions incluant la fonction VraiFaux sont nécessaires pour renvoyer le résultat souhaité. La première expression incluant la fonction VraiFaux est utilisée pour vérifier la case activée d’une variable et la convertir en zéro si elle est Null.

varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")

Dans l’exemple suivant, la fonction Nz fournit la même fonctionnalité que la première expression, et le résultat souhaité est obtenu en une étape au lieu de deux.

varResult = IIf(Nz(varFreight) > 50, "High", "Low")

Si vous fournissez une valeur pour l’argument facultatif valueifnull, cette valeur sera retournée lorsque variant est Null. En incluant cet argument facultatif, vous pouvez éviter l’utilisation d’une expression contenant la fonction VraiF . Par exemple, l’expression suivante utilise la fonction VraiFaux pour renvoyer une chaîne si la valeur de varFreight est Null.

varResult = IIf(IsNull(varFreight), _
    "No Freight Charge", varFreight)

Dans l’exemple suivant, l’argument facultatif fourni à la fonction Nz fournit la chaîne à retourner si varFreight elle est Null.

varResult = Nz(varFreight, "No Freight Charge")

Exemples de requête

Expression Résultats
SELECT ProductID, NZ(Discount,"No Detail Available ») AS Expr2 FROM ProductSales ; Renvoie « ProductID » dans la colonne Expr1, évalue les valeurs « Null » dans le champ « Remise » et renvoie « Aucun détail disponible » pour toutes les valeurs Null (renvoie les valeurs non Null telles qu’elles sont).
SELECT ProductID, NZ(Discount,"No Detail Available ») AS ReplaceNull FROM ProductSales ; Renvoie « ProductID » dans la colonne Produit, évalue les valeurs « Null » dans le champ « Remise » et renvoie « Aucun détail disponible » pour toutes les valeurs Null (renvoie les valeurs non Null telles quelles) et affiche dans la colonne ReplaceNull.

Exemple de VBA

Remarque

Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence développeur dans la liste déroulante en regard de Rechercher , puis entrez un ou plusieurs termes dans la zone de recherche.

L’exemple suivant évalue un contrôle figurant sur un formulaire et renvoie l’une des deux chaînes en fonction de la valeur du contrôle. Si la valeur du contrôle est Null, la procédure utilise la fonction Nz pour convertir une valeur Null en chaîne nulle.

Public Sub CheckValue()
    Dim frm As Form
    Dim ctl As Control
    Dim varResult As Variant
    ' Return Form object variable 
    ' pointing to Orders form.
    Set frm = Forms!Orders
    ' Return Control object variable 
    ' pointing to ShipRegion.
    Set ctl = frm!ShipRegion
    ' Choose result based on value of control.
    varResult = IIf(Nz(ctl.Value) = vbNullString, _
        "No value.", "Value is " & ctl.Value & ".")
    ' Display result.
    MsgBox varResult, vbExclamation
End Sub