Application.Nz Method

Access Developer Reference

You can use the Nz function to return zero, a zero-length string (" "), or another specified value when a Variant is Null. For example, you can use this function to convert a Null value to another value and prevent it from propagating through an expression.

Syntax

expression.Nz(Value, ValueIfNull)

expression   A variable that represents an Application object.

Parameters

<<<<<<< HEAD ======= >>>>>>> 7f3a9c6c13e671f21bf63e8e33d124610e43b846
Name Required/Optional Data Type Description
Value Required Variant A variable of data type Variant.
ValueIfNull Optional Variant Optional (unless used in a query). A Variant that supplies a value to be returned if the variant argument is Null. This argument enables you to return a value other than zero or a zero-length string.
<<<<<<< HEAD Bb148937.vs_note(en-us,office.12).gif  Note ======= Bb148937.vs_note(en-us,office.12).gif  Note >>>>>>> 7f3a9c6c13e671f21bf63e8e33d124610e43b846
If you use the Nz function in an expression in a query without using the valueifnull argument, the results will be a zero-length string in the fields that contain null values.
Bb148937.vs_note(en-us,office.12).gif  NoteBb148937.vs_note(en-us,office.12).gif  Note
If you use the Nz function in an expression in a query without using the valueifnull argument, the results will be a zero-length string in the fields that contain null values.

Return Value
Variant

Remarks

If the value of the variant argument is Null, the Nz function returns the number zero or a zero-length string (always returns a zero-length string when used in a query expression), depending on whether the context indicates the value should be a number or a string. If the optional valueifnull argument is included, then the Nz function will return the value specified by that argument if the variant argument is Null. When used in a query expression, the Nz function should always include the valueifnull argument.

If the value of variant isn't Null, then the Nz function returns the value of variant.

The Nz function is useful for expressions that may include Null values. To force an expression to evaluate to a non-Null value even when it contains a Null value, use the Nz function to return zero, a zero-length string, or a custom return value.

For example, the expression 2 + varX will always return a Null value when the VariantvarX is Null. However, 2 + Nz(varX) returns 2.

You can often use the Nz function as an alternative to the IIf function. For example, in the following code, two expressions including the IIf function are necessary to return the desired result. The first expression including the IIf function is used to check the value of a variable and convert it to zero if it is Null.

Visual Basic for Applications
  varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")

In the next example, the Nz function provides the same functionality as the first expression, and the desired result is achieved in one step rather than two.

Visual Basic for Applications
  varResult = IIf(Nz(varFreight) > 50, "High", "Low")

If you supply a value for the optional argument valueifnull, that value will be returned when variant is Null. By including this optional argument, you may be able to avoid the use of an expression containing the IIf function. For example, the following expression uses the IIf function to return a string if the value of varFreight is Null.

Visual Basic for Applications
  varResult = IIf(IsNull(varFreight), "No Freight Charge", varFreight)

In the next example, the optional argument supplied to the Nz function provides the string to be returned if varFreight is Null.

Visual Basic for Applications
  varResult = Nz(varFreight, "No Freight Charge")

Example

The following example evaluates a control on a form and returns one of two strings based on the control's value. If the value of the control is Null, the procedure uses the Nz function to convert a Null value to a zero-length string.

Visual Basic for Applications
  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(<strong class="bterm">Nz(</strong>ctl.Value<strong class="bterm">)</strong> = vbNullString, _
    "No value.", "Value is " &amp; ctl.Value &amp; ".")

' Display result.
MsgBox varResult, vbExclamation

End Sub