Função Nz

Você pode usar a função Nz para retornar zero, um cadeia de comprimento zero (" "), ou outro valor especificado quando um Variant for Null. Por exemplo, você pode usar essa função para converter um valor Null em outro valor e impedir que ele se propague por meio de uma expressão.

Sintaxe

Nz ( variant [, valueifnull ] )

A sintaxe da função Nz tem os seguintes argumentos:

Argumento

Descrição

variant

Obrigatório. Uma variável de tipo de dados Variant.

valueifnull

Opcional (a menos que seja usado em uma consulta). Um Variant que fornece um valor a ser retornado se o argumento variant for Nulo. Esse argumento permite que você retorne um valor diferente de zero ou uma cadeia de comprimento zero.

Observação: Se você usar a função Nz em uma expressão de uma consulta sem usar o argumento valueifnull, os resultados serão uma cadeia de comprimento zero nos campos que contiverem valores nulos.

Se o valor do argumento variant for Null, a função Nz retornará o número zero ou uma cadeia de caracteres de comprimento zero (sempre retornará uma cadeia de caracteres de comprimento zero quando usada em uma expressão de consulta), dependendo se o contexto indicar que o valor deve ser um número ou uma cadeia de caracteres. Se o argumento valueifnull opcional estiver incluído, a função Nz retornará o valor especificado por esse argumento se o argumento variant for Null. Quando usada em uma expressão de consulta, a função NZ sempre deve incluir o argumento valueifnull,

Se o valor da variante não for Null, a função Nz retornará o valor da variante.

Comentários

A função Nz é útil para expressões que podem incluir valores Null. Para forçar uma expressão a avaliar para um valor não Nulo, mesmo quando contiver um valor Null, use a função Nz para retornar zero, uma cadeia de caracteres de comprimento zero ou um valor de retorno personalizado.

Por exemplo, a expressão 2 + varX sempre retornará um valor Null quando o valor Variant varX for Null. No entanto, 2 + Nz(varX) retorna 2.

Muitas vezes, você pode usar a função Nz como uma alternativa à função IIf. Por exemplo, no código a seguir, duas expressões, incluindo a função IIf, são necessárias para retornar o resultado desejado. A primeira expressão, incluindo a função IIf, é usada para verificar o valor de uma variável e convertê-la em zero se for Null.

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

No próximo exemplo, a função Nz fornece a mesma funcionalidade que a primeira expressão e o resultado desejado é atingido em uma etapa, em vez de duas.

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

Se você fornecer um valor para o argumento opcional valueifnull, esse valor será retornado quando variant for Null. Ao incluir esse argumento opcional, você pode ser capaz de evitar o uso de uma expressão que contém a função IIf. Por exemplo, a expressão a seguir usa a função IIf para retornar uma cadeia de caracteres se o valor de varFreight for Null.

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

No próximo exemplo, o argumento opcional fornecido à função Nz fornece a cadeia de caracteres a ser retornada se varFreight for Null.

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

Exemplos de consulta

Expressão

Resultados

SELECT ProductID, NZ(Discount,"No Detail Available") AS Expr2 FROM ProductSales;

Retorna "ProductID" na coluna Expr1, avalia os valores 'Null' no campo "Discount" e retorna "Sem Detalhes Disponíveis" para todos os valores Null (retorna os valores não nulos como está).

SELECT ProductID, NZ(Discount,"No Detail Available") AS ReplaceNull FROM ProductSales;

Retorna "ProductID" na coluna Produto, avalia os valores 'Null' no campo "Discount" e retorna "Sem Detalhes Disponíveis" para todos os valores Null (retorna os valores não nulos como está) e exibe na coluna ReplaceNull.

Exemplo do VBA

Observação: Exemplos a seguir demonstram o uso dessa função em um módulo Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na listada ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.

O exemplo a seguir avalia um controle em um formulário e retorna uma das duas cadeias de caracteres com base no valor do controle. Se o valor do controle for Null, o procedimento usará a função Nz para converter um valor Null em uma cadeia de caracteres de comprimento 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

Precisa de mais ajuda?

Expanda suas habilidades no Office
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider