Como você não postou um pedaço do codigo para termos uma ideia, segue algumas orientações de como tratar campos nulos :
Campos Nulos
Aqui vai uma dica de uma função que verifica validações em campos como:
'*** Ela verifica por exemplo se o valor digitado e um valor numerico valido e se e tambem uma data válida e se foram digitados textos para o campo atual,
'*** Caso nao seja ele retorna com uma mensagem e continua com o foco no controle atual
Em um Modulo Global crie o enumerador e a Sub Rotina conforme abaixo
'Enumera os Tipos de Campos
Enum TipoCampos
Texto = 0
Numero = 1
Data = 2
End Enum
'Faz a Validação de Campos
Public Sub CampoValidar(Valor As String, Tipo As TipoCampos, Optional ByRef Cancelar As Boolean)
On Error Resume Next
If Tipo = Data Then
If Not IsDate(Valor) Then
MsgBox "A Data digitada está inválida", vbInformation
Cancelar = True
FormAtivo.ActiveControl.SetFocus
Exit Sub
ElseIf Len(Trim(Valor)) < 10 Then
MsgBox "A Data digitada está inválida." & vbCrLf & "Ela tem que ter o seguinte formato dd/mm/yyyy", vbInformation
Cancelar = True
FormAtivo.ActiveControl.SetFocus
Exit Sub
Else
Cancelar = False
End If
ElseIf Tipo = Texto Then
If Trim(Valor) = "" Then
MsgBox "Não é aceitável valores nulos para este campo." & vbCrLf & "Preencha corretamente o campo atual para continuar", vbCritical
Cancelar = True
FormAtivo.ActiveControl.SetFocus
Exit Sub
Else
Cancelar = False
End If
ElseIf Tipo = Numero Then
If Not IsNumeric(Valor) Then
MsgBox "O Valor Digitado não e um número válido", vbInformation
Cancelar = True
FormAtivo.ActiveControl.SetFocus
Exit Sub
ElseIf Valor = 0 Then
MsgBox "Você deve entrar com um valor diferente de 0", vbInformation
Cancelar = True
FormAtivo.ActiveControl.SetFocus
Exit Sub
Else
Cancelar = False
FormAtivo.ActiveControl.SetFocus
Exit Sub
End If
End If
End Sub
A sub-rotina acima tem os seguintes parámetros:
Valor => Indica o valor a ser avaliado
Tipo => Sao os tipos enumerados anteriormente ( Texto ou Numero ou Data )
Cancelar => E um parámetro opcional ( como default ele estar setado para False o que indica que nao e para cancelar a operação do campo atual )
O Modo de uso da sub-rotina acima e o seguinte:
Estamos supondo que o campo que iremos validar seja um TextBox.
'Estamos validando um campo no qual o usuário e obrigado a digitar um texto qualquer
Private Sub Text1_Validate(Cancel As Boolean)
CampoValidar Text1.Text, Texto, Cancel
End Sub
'Ja agora o usuário terá que digitar um número válido
Private Sub Text1_Validate(Cancel As Boolean)
CampoValidar Text1.Text, Numero, Cancel
End Sub
'E por último o usuário terá que digitar uma data válida
Private Sub Text1_Validate(Cancel As Boolean)
CampoValidar Text1.Text, Data, Cancel
End Sub
Qualquer coisa de um retorno , sds geronimo