VALIDAR CAMPOS VAZIOS
boa tarde
eu tenho um formulário com 3 tipos de componentes (textbox ,combobox, maskedbox), e tenho vários campos obrigatórios que não podem ficar em branco.
como faço para faze essa validação???
obrigado
eu tenho um formulário com 3 tipos de componentes (textbox ,combobox, maskedbox), e tenho vários campos obrigatórios que não podem ficar em branco.
como faço para faze essa validação???
obrigado
No momento de gravar:
If txtNomeCampo.Text = [Ô][Ô] then
msgbox [Ô]Tem que preencher o campos XXX[Ô]
exit sub
end if
If txtNomeCampo.Text = [Ô][Ô] then
msgbox [Ô]Tem que preencher o campos XXX[Ô]
exit sub
end if
mas tenho muitas campos não teria uma função para varrer todos???
For Each controle In Me.Controls
If TypeOf controle Is TextBox Then
[ô]validar textbox
End If
If TypeOf controle Is ComboBox Then
[ô]validar combobox
End If
Next controle
If TypeOf controle Is TextBox Then
[ô]validar textbox
End If
If TypeOf controle Is ComboBox Then
[ô]validar combobox
End If
Next controle
nesse caso vai validar todos?..pois não seria todos!!!!!
valeuuu
valeuuu
Esse loop que passei, vai percorrer todos os objetos dentro do form. Você verifica por tipo e em seguida por nome (controle.Name) e faz a validação dos objetos que quiser...
Só pra complementar, alguns formulários podem não exigir que certos controles sejam preenchidos, sendo assim, após a verificação do tipo de controle, pode ser feito uma verificação se o controle é ou não obrigatório.
Eu já fiz isso usando a propriedade Tag do controle, onde eu coloquei um caractere pra indicar se o controle é obrigatório.
Eu já fiz isso usando a propriedade Tag do controle, onde eu coloquei um caractere pra indicar se o controle é obrigatório.
Cara dessa vez eu vou ser chato...
Vou passar este trecho pra voce entender como funfa..
coloca isso num button
Vou passar este trecho pra voce entender como funfa..
Dim c As Control
For Each c In Me.Controls
If (TypeOf c Is TextBox Or TypeOf c Is ComboBox Or TypeOf c Is MaskedTextBox And c.Tag = Nothing) Then
If (c.Text = Nothing) Then
MsgBox([Ô]Campo [Ô] & c.Name & [Ô] Nao foi preenchido![Ô])
Else
MsgBox([Ô]Campo [Ô] & c.Name & [Ô] está OK[Ô])
End If
End If
Next
coloca isso num button
Qual o problema?
Sintaticamente está correto, mas o que vc quer fazer?
Sintaticamente está correto, mas o que vc quer fazer?
Percorre um TabControl
For Each c In Me.Controls
If (TypeOf c Is TabControl) Then
For Each pages As TabControl In DirectCast(c, TabControl).TabPages
For Each texto As Control In pages.Controls
[ô]PROCURA OS OBJETOS QUE TENHAM A PROPRIEDADE TEXT
For Each texto As Control In pages.Controls
If (TypeOf texto Is TextBox Or TypeOf texto Is ComboBox Or TypeOf texto Is MaskedTextBox And texto.Tag = Nothing) Then
If (texto.Text = Nothing) Then
MsgBox([Ô]Campo [Ô] & texto.Name & [Ô] Nao foi preenchido![Ô])
Else
MsgBox([Ô]Campo [Ô] & texto.Name & [Ô] está OK[Ô])
End If
End If
Next
Next
Next
End If
Explicação simples e objetiva, em todos os controles que não podem ficar em branco, coloque um (*) asterisco na propriedade tag.
ex: o text1 não pode ficar vazio, então na propriedade tag do mesmo coloque *, ja o text2 pode ficar vazio, então não coloque nada na propriedade tag do text2.
em um botão cole o código
e pronto ta explicado e funcionando
ex: o text1 não pode ficar vazio, então na propriedade tag do mesmo coloque *, ja o text2 pode ficar vazio, então não coloque nada na propriedade tag do text2.
em um botão cole o código
Private Sub Command1_Click()
Dim c As Control
For Each c In Me.Controls
If (TypeOf c Is TextBox Or TypeOf c Is ComboBox And c.Tag = [Ô]*[Ô]) Then
If (c.Text = [Ô][Ô]) Then
MsgBox ([Ô] O campo [Ô] & c.Name & [Ô] é obrigatório![Ô])
c.SetFocus
End If
End If
Next
End Sub
e pronto ta explicado e funcionando
Tópico encerrado , respostas não são mais permitidas