Función Nz

Puede usar la función NZ para que se devuelva cero, un cadena de longitud cero ("") o cualquier otro valor especificado cuando una variante sea nula. Por ejemplo, puede usar esta función para convertir un valor nulo en otro valor e impedir que se propague a través de una expresión.

Sintaxis

NZ ( Variant [, valueifnull ] )

La sintaxis de la función Nz consta de los siguientes argumentos:

Argumento

Descripción

variant

Necesario. Variable de tipo de datosVariant.

valueifnull

Opcional (a menos que se use en una consulta). Tipo de datos Variant que proporciona el valor que se va a devolver si el argumento variant es Null. Este argumento permite devolver un valor distinto de cero o una cadena de longitud cero.

Nota: Si usa la función Nz en una expresión de una consulta sin usar el argumento valorSiEsNulo, el resultado será una cadena de longitud cero en los campos que contengan valores nulos.


Si el valor del argumento Variant es null, la función NZ devuelve el número cero o una cadena de longitud cero (siempre devuelve una cadena de longitud cero cuando se usa en una expresión de consulta), en función de si el contexto indica el valor debe ser un número o una cadena. Si se incluye el argumento opcional valueifnull , la función NZ devolverá el valor especificado por ese argumento si el argumento Variant es null. Cuando se usa en una expresión de consulta, la función NZ siempre debe incluir el argumento valueifnull .

Si el valor de Variant no es null, la función NZ devuelve el valor de Variant.

Observaciones

La función NZ es útil para las expresiones que pueden incluir valores null . Para forzar que una expresión se evalúe como un valor nonulo aunque contenga un valor nulo , use la función NZ para que se devuelva cero, una cadena de longitud cero o un valor devuelto personalizado.

Por ejemplo, la expresión 2 + varX siempre devolverá un valor null cuando la variantevarX es null. Sin embargo, 2 + Nz(varX) devuelve 2.

A menudo puede usar la función NZ como alternativa a la función IIf . Por ejemplo, en el siguiente código, se necesitan dos expresiones, incluida la función IIf , para devolver el resultado deseado. La primera expresión que incluye la función IIf se usa para comprobar el valor de una variable y convertirla en cero si es null.

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

En el siguiente ejemplo, la función NZ proporciona la misma funcionalidad que la primera expresión y el resultado deseado se obtiene en un solo paso, en lugar de dos.

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

Si proporciona un valor para el argumento opcional valueifnull, ese valor se devolverá cuando Variant es null. Al incluir este argumento opcional, es posible que pueda evitar el uso de una expresión que contenga la función IIf . Por ejemplo, la siguiente expresión usa la función IIf para devolver una cadena si el valor de varFreight es null.

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

En el ejemplo siguiente, el argumento opcional proporcionado a la función NZ proporciona la cadena que se va a devolver si varFreight es null.

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

Ejemplos de consultas

Expresión

Resultados

Seleccione ProductID, NZ (descuento, "sin detalles disponibles") como expr2 de ProductSales;

Devuelve "ProductID" en la columna expr1, evalúa los valores ' null ' del campo "Discount" y devuelve "no hay detalles disponibles" para todos los valores NULL (devuelve los valores no nulos como están).

Seleccione ProductID, NZ (descuento, "sin detalles disponibles") como ReplaceNull de ProductSales.

Devuelve "IdProducto" en la columna producto, evalúa los valores ' nulos ' del campo "descuento" y devuelve "no hay detalles disponibles" para todos los valores nulos (devuelve los valores no nulos como está) y se muestra en la columna ReplaceNull.

Ejemplo de VBA

Nota: En los siguientes ejemplos se muestra el uso de esta función en un módulo de Visual Basic para aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto a Buscar y escriba uno o más términos en el cuadro de búsqueda.

En el siguiente ejemplo se evalúa un control en un formulario y se devuelven una de dos cadenas basándose en el valor del control. Si el valor del control es null, el procedimiento usa la función NZ para convertir un valor nulo en una cadena de longitud cero.

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

Nota:  Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido le resulte útil. ¿Podría decirnos si la información le resultó útil? Aquí puede consultar el artículo en inglés.

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×