Función Nz

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Puede usar la función Nz para devolver cero, una cadena de longitud cero (""), o en otra especificado valor cuando un variante es nulo. Por ejemplo, puede usar esta función para convertir un valor nulo en otro valor y evitar que propagarse en una expresión.

Sintaxis

Nz ( variant [, valorsiesnulo ] )

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 utiliza en una expresión de consulta), dependiendo de si el contexto indica que 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 dicho argumento si el argumento variant es Null. Cuando se utiliza en una expresión de consulta, la función NZ siempre debe incluir el argumento valueifnull.

Si el valor de variant no es Null, entonces la función Nz devuelve el valor de variant.

Comentarios

La función Nz resulta útil para expresiones que pueden incluir valores Null. Para forzar que una expresión evalúe a un valor no Null, incluso cuando contiene un valor Null, utilice la función Nz para devolver cero, una cadena de longitud cero o un valor devuelto personalizado.

Por ejemplo, la expresión 2 + varX siempre devolverá un valor Null cuando Variant varX sea 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 código siguiente, dos expresiones que incluyen la función IIf son necesarias para devolver el resultado deseado. La primera expresión que incluye la función IIf se utiliza 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 logra en un 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 sea Null. Incluyendo 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")

Ejemplo

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

El siguiente ejemplo evalúa un control en un formulario y devuelve una cadena de dos en función del valor del control. Si el valor del control es Null, el procedimiento utiliza la función Nz para convertir un valor Null 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: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Ampliar sus conocimientos
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.

×