Ao declarar variáveis , antes que qualquer valor seja atribuido a elas , você sabe me dizer qual o valor padrão que o VB atribui ? Não sabe ??? Então vamos lembrar...
Quer testar ? Então execute o código abaixo e vair que estou falando a verdade:
Dim a As Integer Dim b As String Dim c As Variant Dim d As Object Dim f As Date If a = 0 Then MsgBox " variável a = 0" End If If b = "" Then MsgBox " variável b = """ End If If IsEmpty(c) Then MsgBox " variável c = Empty" End If If d Is Nothing Then MsgBox " variável d = Nothing " End If If IsDate(f) Then MsgBox " variável f = 00:00:00 " End If |
Então agora eu quero falar sobre alguns valores especiais que as variáveis podem possuir. São eles : Empty , Null , Nothing e Error. Vamos por partes...
1- Empty
Quando você declara um variável do tipo Variant mas não atribui valor ela , seu valor será Empty , que quer dizer vazia. Empty NÃO é igual a uma string de tamanho zero , ou seja , não é igual a "" . Para saber se uma variável foi inicializada use a função IsEmpty(variavel).
A sintaxe é : IsEmpty(variavel)
Retorno :
- False - Indica que a variável não foi inicializada. Ex: Dim var As Variant
- True - indica que a variável foi inicializada. Ex: var = 1
Ao atribuir um valor para a variável ela deixa de ser Empty. Você pode também iniciar uma variável como Empty , assim : var = Empty
2- Null
Null (nulo) pode causar um pouco de confusão. O valor Null é diferente do valor Empty e é diferente de uma string de tamanho zero "". O valor Null é usado em aplicativos para banco de dados e indica que um campo(coluna) NÃO CONTÉM DADOS (DADO INVÁLIDO). Então , variáveis não inicializadas que se referem a banco de dados recebem o valor Null(nulo).
A sintaxe é : IsNull(variavel)
Retorno :
- False - Indica que a variável não possui um valor Null
- True - indica que a variável possui um valor Null.
Você pode atribuir a uma variável o valor Null. Ex: var = Null
Para saber se uma variável objeto possui o valor Null usamos a função : IsNull(variável)
Cuidado : Tome cuidado com expressões de avaliação usando Null
- If Var = Null - retorna SEMPRE False
- If Var <> Null - também retorna SEMPRE False
Sabe por que ? Porque qualque expressão contendo um valor Null é Null e portanto será False.
3- Nothing
O valor Nothing indica que uma variável objeto não foi inicializada. Geralmento usamos Nothing para desassociar uma variável objeto de um objeto através da instrução Set.
Ex: Set VariavelObjeto = Nothing
Tome cuidado , pois você pode ter mais de uma variável objeto referenciando o objeto atual , e , ao atribuir Nothing para a variável objeto , esta variável não se referirá mais ao objeto atual. Mas os recursos do sistema e da memória associados com o objeto somente serão liberados somente quando TODOS as variáveis forem definidas como Nothing ou quando elas sairem do escopo.
Para verificar se uma variável possui o valor Nothing usamos o operador Is Nothing
Sintaxe : resultado = object1 Is Nothing
Vejamos um exemplo abaixo para esclarecer :
Private Sub Command1_Click() Set VariavelObjeto = CreateObject("Word.Application") Debug.Print VariavelObjeto.Name If Not (VariavelObjeto Is Nothing) Then Set VariavelObjeto = Nothing If (VariavelObjeto Is Nothing) Then MsgBox " VariavelObjeto = Nothing " End If End If End Sub |
1- Definimos uma variável objeto como sendo do tipo - Microsoft Word 2- Imprimimos o nome da variavel 3- Se a variável Não for Nothing então atribuimos Nothing a ela 4- Se a variável for Nothing exibimos mensagem indicando isto. A saida será :
|
4- Error
O valor Error é um valor especial que você pode usar quando escrever funções que retornam erros . Se ocorrer um erro durante a execução da função você pode retornar um valor Error e trata o erro não na função mas no programa que fez a chamada a função.
Para converter um valor em um objeto Erro usamos a função - CVerr()
Sintaxe : CVErr(numero do erro)
Vejamos um exemplo :
Function Calculo(Numero) If IsNumeric(Numero) Then CalculateDouble = Numero * 2 Else If Error Then Calculo = CVErr(2001) 'Retorna um erro End If End If End Function |
Se
ocorrer um erro na função usamos o valor Error
para retornar o objeto erro atravé da função CVErr(). No programa que fez a chamada iremos fazer o tratamento do erro ocorrido pelo número informado. |
Acabou...