ROTINA VERIFICAR CAMPO NULO

ALVAROVB2009 29/05/2016 15:53:58
#462692
Galera estou tentando criar uma rotina para pegar os dados do recordset e verificar se esta nulo e poder preencher o campo em questão, só que no momento que tento jogar o valor do campo para a função, ele da um erro, Type mismatch, quando o valor é nulo, a função que estou criando é essa

Private Function VerificaCampoNulo(ValorCampoBanco As Recordset, Optional NomeText As TextBox, Optional NomeMaskEdit As MaskEdBox, Optional CampoTipoTelefone As Boolean = False, Optional CampoTipoData As Boolean = False, Optional CampoTipoCep As Boolean = False, Optional CampoTipoTelefoneCelular As Boolean = False, Optional CampoTipoTexto As Boolean = False)
If CampoTipoTexto = True Then
If IsNull(ValorCampoBanco) Then
NomeText.Text = [Ô][Ô]
Else
NomeText.Text = ValorCampoBanco!NomeCampoBanco
End If
Else
NomeMaskEdit.Mask = [Ô][Ô]
If IsNull(ValorCampoBanco) Then
NomeMaskEdit.Text = [Ô][Ô]
Else
NomeMaskEdit.Text = ValorCampoBanco
End If
If CampoTipoData = True Then
NomeMaskEdit.Mask = [Ô]99/99/9999[Ô]
ElseIf CampoTipoCep = True Then
NomeMaskEdit.Mask = [Ô]99999-999[Ô]
ElseIf CampoTipoTelefone = True Then
NomeMaskEdit.Mask = [Ô]9999-9999[Ô]
ElseIf CampoTipoTelefoneCelular = True Then
NomeMaskEdit.Mask = [Ô]99999-9999[Ô]
End If
NomeMaskEdit.PromptInclude = True
End If
End Function

Como será que posso resolver esse problema?

Não quero ter que ir campo a campo verificar se esta nulo e fazer o que precisa ser feito, quero dar uma otimizada

Agradeço a todos
JABA 29/05/2016 15:59:15
#462694
Resposta escolhida
Onde que o erro acontece?
ALVAROVB2009 29/05/2016 16:03:29
#462697
Jaba obrigado pelo retorno

Como comentei é quando tento jogar a informação para a rotina, ele simplesmente não entra na rotina e ja da o erro
Segue a linha
txtdtAposentado.Text = VerificaCampoNulo(tbConsulta.Fields([Ô]dtaposentado[Ô]), , txtdtAposentado, , True)

Aqui ele ja da o erro e não entra para a função onde tem o tratamento

é igual quando tem um IIF(isnull(tabela!campo),[Ô]Nulo[Ô],[Ô]Tem Dados[Ô]) por exemplo, isso não funciona, ai tem que fazer um if normal
JABA 29/05/2016 16:16:22
#462698
Acho que o erro acontece por que em vez de você passar um recordset, está passando um campo do banco. Tenta assim pra ver se vai:

Private Function VerificaCampoNulo([txt-color=#e80000]ValorCampoBanco As Field[/txt-color], Optional NomeText As TextBox, Optional NomeMaskEdit As MaskEdBox, Optional CampoTipoTelefone As Boolean = False, Optional CampoTipoData As Boolean = False, Optional CampoTipoCep As Boolean = False, Optional CampoTipoTelefoneCelular As Boolean = False, Optional CampoTipoTexto As Boolean = False)
ALVAROVB2009 29/05/2016 16:28:48
#462699
é isso mesmo, vlw pela dica, erro de principiante, más estou com cabeça cheia e nem vi isso

Vlw mesmo
Tópico encerrado , respostas não são mais permitidas