Função Nz

Pode utilizar a função Nz para devolver zero, uma cadeia de comprimento zero (" ") ou outro valor específico quando uma Variante é Nula. Por exemplo, pode utilizar esta função para converter um valor Nulo noutro valor e impedi-lo de propagar através de uma expressão.

Sintaxe

Nz ( variante [, valorsenulo ] )

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

Argumento

Descrição

variante

Obrigatório. Uma variável do tipo de dados Variante.

valorsenulo

Opcional (a menos que seja utilizado numa consulta). Uma Variante que fornece um valor a ser devolvido se o argumento da variante for Nulo. Este argumento permite-lhe devolver um valor diferente de zero ou uma cadeia de comprimento zero.

Nota: Se utilizar a função Nz numa expressão de uma consulta sem utilizar o argumento valorsenulo, os resultados serão uma cadeia de comprimento zero nos campos que contêm valores nulos.


Se o valor do argumento variante for Nulo, a função Nz devolve o número zero ou uma cadeia de comprimento zero (devolve sempre uma cadeia de comprimento zero quando utilizada numa consulta de expressão), dependendo se o contexto indica que o valor deve ser um número ou uma cadeia. Se o argumento opcional valorsenulo estiver incluído, então a função Nz devolverá o valor especificado por esse argumento se o argumento variante for Nulo. Quando utilizada numa consulta de expressão, a função NZ deve sempre incluir o argumento valorsenulo.

Se o valor de variante não for Nulo, então a função Nz devolve o valor de variante.

Observações

A função Nz é útil para expressões que possam incluir valores Nulos. Para forçar uma expressão a avaliar um valor não Nulo, mesmo quando este contém um valor Nulo, utilize a função Nz para devolver zero, uma cadeia de comprimento zero ou um valor devolvido personalizado.

Por exemplo, a expressão 2 + varX irá sempre devolver um valor Nulo quando a VariantevarX for Nula. No entanto, a expressão 2 + Nz(varX) devolve 2.

Muitas vezes, pode utilizar a função Nz como alternativa à função ISe. Por exemplo, no código seguinte, duas expressões que incluem a função ISe são necessárias para devolver o resultado pretendido. A primeira expressão que inclui a função ISe é utilizada para verificar o valor de uma variável e convertê-lo em zero se for Nulo.

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

No exemplo seguinte, a função Nz disponibiliza a mesma funcionalidade da primeira expressão e o resultado pretendido é atingido num passo em vez de em dois.

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

Se fornecer um valor para o argumento opcional valorsenulo, esse valor será devolvido quando o argumento variante for Nulo. Ao incluir este argumento opcional, poderá conseguir evitar a utilização da expressão que contém a função ISe. Por exemplo, a expressão seguinte utiliza a função ISe para devolver uma cadeia se o valor varFreight for Nulo.

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

No exemplo seguinte, o argumento opcional fornecido à função Nz disponibiliza a cadeia para ser devolvida se o valor varFreight for Nulo.

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

Exemplos de consulta

Expressão

Resultados

Selecione CódigoDoProduto, NZ (desconto; "não há detalhe disponível") como expr2 de ProductSales;

Devolve "CódigoDoProduto" na coluna expr1, avalia os valores "nulos" no campo "desconto" e devolve "não existem detalhes disponíveis" para todos os valores nulos (devolve os valores não nulos, tal como está).

Selecione CódigoDoProduto, NZ (desconto; "não há detalhe disponível") como ReplaceNull a partir de ProductSales;

Devolve "CódigoDoProduto" no produto da coluna, avalia os valores "nulo" no campo "desconto" e devolve "não existem detalhes disponíveis" para todos os valores nulos (devolve os valores não nulos, tal como está) e é apresentado na coluna ReplaceNull.

Exemplo de VBA

Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

O exemplo seguinte avalia um controlo num formulário e devolve uma de duas cadeias com base nos valores do controlo. Se o valor do controlo for Nulo, o processo utiliza a função Nz para converter um valor Nulo numa cadeia 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

Nota:  Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode indicar-nos se estas informações foram úteis? Eis o artigo em inglês para sua referência.​

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×