Jump to content
Fórum Script Brasil
  • 0

Verificar Campos Em Branco


StormRuller
 Share

Question

Tenho um formulário com os campos Nome, Lider, E-mail, Data de Inicio e Data do Fim onde ao clicar no botão Gravar e vi que a função que eu usei abaixo mostra que o campo não foi digitado e pede para digitar.

Private Sub gravar_Click()
If txtnome.Text = Empty Then
    MsgBox "Nome não foi informado"
    TextBox.SetFocus
Else
End If

If txtlider.Text = Empty Then
    MsgBox "Líder não foi informado"
    TextBox.SetFocus
Else
End If

If txtemail.Text = Empty Then
    MsgBox "E-mail não foi informado"
    TextBox.SetFocus
Else
End If

If maskdtinicio.Text = Empty Then
    MsgBox "Data de inicio não foi informado"
    TextBox.SetFocus
Else
End If

If maskdtfim.Text = Empty Then
    MsgBox "Data do fim não foi informado"
    TextBox.SetFocus
Else
End If
End Sub

Teria algum modo mais facil de fazer esse tipo de funcao??? Tenho outros formularios para preencher e tem mais campos onde terei que fazer isso... existe algum modo mais simples???

Valeu!!

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

você pode fazer uma funcao pra ler todos os campos do formulario e checar quais estao em branco. a funcao seria tipo assim:

Public Function ValidaForm(f As Form) As Boolean
    Dim c As Control
    
    ValidaForm = False
    For Each c In f.Controls
        If TypeOf c Is TextBox Then
            If c.Text = "" Then
                MsgBox "Preencha todos os campos"
                c.SetFocus
                Exit Function
            End If
        ElseIf TypeOf c Is MaskEdBox Then
            c.PromptInclude = False
            If c.Text = "" Then
                MsgBox "Preencha todos os campos"
                c.PromptInclude = True
                c.SetFocus
                Exit Function
            End If
            c.PromptInclude = True
        End If
    Next
    ValidaForm = True
End Function[/code] depois é so adaptar pra todos os tipos de controle q você possa usar, tipo combobox, e etc. ai pra chamar você poderia fazer assim:
[code]If Not ValidaForm Me Then Exit Sub

so q essa funcao tem dois problemas. o primeiro é q ele vai validar todos os campos, mesmo os q não forem obrigatorios. o segundo é q ele não vai dar uma mensagem personalizada pra cada campo. exemplo, ele não vai falar "Preencha o campo Código.", so vai falar "Preencha todos os campos".

pra resolver esses dois problemas, usamos a propriedade Tag dos TextBox, MaskedBox e etc. tipo, os campos q forem obrigatorios, você preenche, por exemplo, com "obg". ai você adapta na funcao checando a Tag do controle. se não estiver preenchida com obg, você nem checa se ta em branco o não.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...