pode usar a função Nz sempre
veja o que diz a ajuda em F1
Referência sobre o desenvolvedor do Access
Application.Método Nz
Mostrar tudo
Ocultar tudo
Você pode utilizar a função Nz para retornar zero, uma cadeia de caracteres de comprimento zero (seqüência com comprimento zero: uma seqüência que não contém caracteres. Você pode usar uma seqüência com comprimento zero para indicar que não existe valor para um campo. Você insere a seqüência com comprimento zero digitando aspas duplas sem espaço entre elas (" ").) (" "), ou um outro valor especificado quando uma Variant for Null. Por exemplo, essa função pode ser utilizada para converter um valor Null em um outro valor e evitar que ele se propague através de uma expressão.
Sintaxe
expressão.Nz(Value, ValueIfNull)
expressão Uma variável que representa um objeto Application.
Parâmetros
Nome Obrigatório/Opcional Tipo de dados Descrição
Value Obrigatório Variant Uma variável do tipo de dados (tipo de dados: a característica de um campo que determina que tipo de dados ele pode conter. Os tipos de dados incluem booleano, inteiro, longo, unidade monetária, único, duplo, data, seqüência e variante (padrão).) Variant.
ValueIfNull Opcional Variant Opcional (exceto se utilizado em uma consulta). Um Variant que fornece um valor a ser retornado se o argumento variant for Null. Este argumento permite que você retorne um valor que não seja zero nem uma cadeia de caracteres de comprimento zero.
Observação
Se você utilizar a função Nz em uma expressão de uma consulta sem utilizar o argumento valueifnull, os resultados serão uma cadeia de caracteres de comprimento zero nos campos que contiverem valores nulos.
Valor de retorno
Variant
Comentários
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 retorna 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 opcional valueifnull for 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 deve incluir sempre o argumento valueifnull.
Se o valor de variant não for Null, a função Nz retornará o valor de variant.
A função Nz é útil em expressões que possam incluir valores Null. Para forçar uma expressão a ser avaliada como um valor diferente de Null mesmo quando contiver um valor Null, utilize a função Nz para retornar um zero, uma cadeia de caracteres de comprimento zero ou um valor de retorno personalizado.
Por exemplo, a expressão 2 + varX sempre retorna um valor Null quando a Variant varX é Null. Entretanto, 2 + Nz(varX) retorna 2.
Freqüentemente a função Nz é utilizada como uma alternativa para a função IIf. No código a seguir, por exemplo, são necessárias duas expressões que incluam a função IIf para retornar o resultado desejado. A primeira expressão incluindo a função IIf é utilizada para verificar o valor de uma variável e convertê-lo a zero se ele for Null.
varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")
No próximo exemplo, a função Nz proporciona a mesma funcionalidade da primeira expressão e o resultado desejado é alcançado 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, pode-se evitar o uso de uma expressão contendo a função IIf. Por exemplo, a expressão seguinte utilizará 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 para a função Nz fornece a cadeia de caracteres a ser retornada caso varFreight seja Null.
varResult = Nz(varFreight, "No Freight Charge")
Exemplo
O exemplo a seguir avalia um controle em um formulário e retorna uma entre duas cadeias de caracteres com base no valor do controle. Quando o valor do controle for Null, o procedimento utilizará a função Nz para converter o valor Null em uma cadeia de caracteres de comprimento zero.
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(Nz(ctl.Value) = vbNullString, _
"No value.", "Value is " & ctl.Value & ".")
' Display result.
MsgBox varResult, vbExclamation
End Sub