Funzione Nz

Si applica a
Access per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

È possibile usare la funzione Nz per restituire zero, una stringa di lunghezza zero (" ") o un altro valore specificato quando un valore Variant è Null. Ad esempio, si può usare questa funzione per convertire un valore Null in un altro valore ed evitare che si propaghi tramite un'espressione.

Sintassi

Nz(variant [, valsenull ] )

La sintassi della funzione Nz è composta dai seguenti argomenti:

Argomento Descrizione
variante Obbligatorio. Variabile del tipo di dati Variant.
valsenull Argomento facoltativo, a meno che non venga utilizzato in una query. Valore Variant che fornisce un valore da restituire se l'argomento variant è Null. Questo argomento consente la restituzione un valore diverso da zero o una stringa di lunghezza zero.
Nota: Se si usa la funzione Nz in un'espressione in una query senza usare l'argomento valsenull , i risultati saranno una stringa di lunghezza zero nei campi che contengono valori Null.

Se il valore dell'argomento variante è Null, la funzione Nz restituisce il numero zero o una stringa di lunghezza zero( restituisce sempre una stringa di lunghezza zero se usata in un'espressione di query), a seconda che il contesto indichi se il valore deve essere un numero o una stringa. Se l'argomento facoltativo valsenull è incluso, la funzione Nz restituirà il valore specificato da tale argomento se l'argomento variante è Null. Se usata in un'espressione di query, la funzione NZ deve sempre includere l'argomento valsenull ,

Se il valore di variant non è Null, la funzione Nz restituisce il valore di variant.

Osservazioni

La funzione Nz risulta particolarmente utile per le espressioni che possono includere valori Null. Per forzare un'espressione a restituire un valore non Null anche quando contiene un valore Null, usare la funzione Nz per restituire zero, una stringa di lunghezza zero o un valore restituito personalizzato.

Ad esempio, l'espressione 2 + varX restituirà sempre un valore Null quando il valore VariantvarX è Null. Tuttavia, 2 + Nz(varX) restituisce 2.

È spesso possibile usare la funzione Nz in alternativa alla funzione IIf. Nell'esempio di codice seguente sono necessarie due espressioni che contengono la funzione IIf per restituire il risultato desiderato. La prima espressione che contiene la funzione IIf viene usata per controllare il valore di una variabile e convertirlo in uno zero nel caso in cui questo sia Null.

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

Nel prossimo esempio la funzione Nz offre la stessa funzionalità della prima espressione e il risultato desiderato viene ottenuto in un solo passaggio anziché in due.

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

Se viene specificato un valore per l'argomento facoltativo valsenull, verrà restituito tale valore quando l'argomento variante è Null. L'uso di questo argomento facoltativo consente di evitare di usare un'espressione contenente la funzione IIf. Ad esempio, l'espressione seguente usa la funzione IIf per restituire una stringa se il valore di varFreight è Null.

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

Nell'esempio successivo, l'argomento facoltativo fornito alla funzione Nz fornisce la stringa da restituire se varFreight è Null.

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

Esempi di query

Espressione Risultati
SELECT ProductID, NZ(Discount,"No Detail Available") AS Expr2 FROM ProductSales; Restituisce "IDProdotto" nella colonna Espr1, valuta i valori 'Null' nel campo "Discount" e restituisce "Nessun dettaglio disponibile" per tutti i valori Null (restituisce i valori non Null così come sono).
SELECT ProductID, NZ(Discount,"No Detail Available") AS ReplaceNull FROM ProductSales; Restituisce "IDProdotto" nella colonna Product, valuta i valori 'Null' nel campo "Discount" e restituisce "No Details Available" per tutti i valori Null (restituisce i valori non Null così come sono) e viene visualizzata nella colonna ReplaceNull.

Esempio di VBA

Nota

Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.

Nell'esempio seguente viene valutato un controllo di una maschera e restituita una delle due stringhe in base al valore del controllo. Se il valore del controllo è Null, viene usata la funzione Nz per convertire un valore Null in una stringa di lunghezza zero.

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