Funzione Nz

È possibile usare la funzione Nz per restituire zero, una stringa di lunghezza zero (" ") oppure un altro valore specificato quando un 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 ( variante [, valsenull ] )

La sintassi della funzione Nz è composta dai seguenti argomenti:

Argomento

Descrizione

variante

Argomento obbligatorio. Una variabile di tipo di dati Variant.

valsenull

Argomento facoltativo, a meno che non venga utilizzato in una query. Un tipo di dati Variant che fornisce un valore da restituire se l'argomento variante è 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 di una query senza utilizzare l'argomento valsenull, nei campi che contengono valori Null risulterà una stringa di lunghezza zero.


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

Se il valore dell'argomento variante non è Null, la funzione Nz restituirà il valore dell'argomento variante.

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 dell'elemento Variant varX è Null. L'espressione 2 + Nz(varX) restituisce tuttavia il valore 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)

Nel prossimo esempio l'argomento facoltativo fornito alla funzione Nz specifica la stringa da restituire se varFreight è Null.

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

Esempio

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
Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×