REFORMULAR CAMPO [ô]TEXT[ô]
Teste assim.
Dim controle As Control
For Each controle In Me.Controls
If TypeOf controle Is TextBox Or TypeOf controle Is MaskEdBox Then [ô]Or TypeOf controle Is DateTimePicker Or TypeOf controle Is CheckBox Or TypeOf controle Is ComboBox Or TypeOf controle Is TableLayoutPanel Then
If controle.Text = [Ô][Ô] And controle.Tag <> [Ô]x[Ô] Then
controle.SetFocus
MsgBox (controle.Name)
End If
End If
Next
Isto é do Mestre modificado.
Dim controle As Control
For Each controle In Me.Controls
If TypeOf controle Is TextBox Or TypeOf controle Is MaskEdBox Then [ô]Or TypeOf controle Is DateTimePicker Or TypeOf controle Is CheckBox Or TypeOf controle Is ComboBox Or TypeOf controle Is TableLayoutPanel Then
If controle.Text = [Ô][Ô] And controle.Tag <> [Ô]x[Ô] Then
controle.SetFocus
MsgBox (controle.Name)
End If
End If
Next
Isto é do Mestre modificado.
Variável inválida...
é de alguma forma ele não está contando os controles para fazer um loop.
Hum! me parece que você não colocou sua codificação dentro de uma sub
Porque você não coloca isso no evento click do botão salvar???
Porque você não coloca isso no evento click do botão salvar???
Porque na verdade todas as codificações que passamos funcionam mas pra isso tem que estar dentro de uma Sub
Verdade ACCIOLLY tava fazendo diversas maneiras e acabei colocando fora da SUB kkk
Private Sub RotinaSalvar()
End Sub
Private Sub RotinaSalvar()
End Sub
Private Sub RotinaSalvar()
Dim controle As Control
For Each controle In Me.Controls
If TypeOf controle Is TextBox Then [ô]Or TypeOf controle Is MaskEdBox Or TypeOf controle Is DateTimePicker Or TypeOf controle Is CheckBox Or TypeOf controle Is ComboBox Or TypeOf controle Is TableLayoutPanel Then
If controle.text = [Ô][Ô] And controle.Tag <> [Ô][Ô] Then
controle.SetFocus
[ô]MsgBox (controle.Name)
End If
End If
Next
End Sub
Porém ele está permitindo salvar e não tá validando os campos que tão em branco?
Dim controle As Control
For Each controle In Me.Controls
If TypeOf controle Is TextBox Then [ô]Or TypeOf controle Is MaskEdBox Or TypeOf controle Is DateTimePicker Or TypeOf controle Is CheckBox Or TypeOf controle Is ComboBox Or TypeOf controle Is TableLayoutPanel Then
If controle.text = [Ô][Ô] And controle.Tag <> [Ô][Ô] Then
controle.SetFocus
[ô]MsgBox (controle.Name)
End If
End If
Next
End Sub
Porém ele está permitindo salvar e não tá validando os campos que tão em branco?
repare na condição que você colocou
Traduzindo...
O que você colocou na propriedade Tag dos Controles que você não quer que fique em branco?
Qualquer coisa testa a codificação que te mandei...
If controle.text = [Ô][Ô] And controle.Tag <> [Ô][Ô] Then
Traduzindo...
se o texto for vazio e a tag NÃO for vazia então...
O que você colocou na propriedade Tag dos Controles que você não quer que fique em branco?
Qualquer coisa testa a codificação que te mandei...
Private Sub RotinaSalvar()
Dim controle As Control
For Each controle In Me.Controls
If TypeOf controle Is TextBox Then
If Trim(controle) = [Ô][Ô] Then
MensagemDoSistema [Ô]Campo não informado, verifique antes de salvar![Ô]
controle.SetFocus
Exit Sub
End If
End If
Next
End Sub
Feito ACCIOLLY, fica aà o comando pois desta maneira ele valida os campos em brancos e o foco volta para o campo em branco ...
-Porém ele não vai validando por ordem dos campos na tela, e sim por ordem totalmente desordenada, onde ordeno para ele ir por ordem dos campos?
Dim controle As Control
For Each controle In Me.Controls
If TypeOf controle Is TextBox Then
If Trim(controle) = [Ô][Ô] Then
MensagemDoSistema [Ô]Campo não informado, verifique antes de salvar![Ô]
controle.SetFocus
Exit Sub
End If
End If
Next
End Sub
Feito ACCIOLLY, fica aà o comando pois desta maneira ele valida os campos em brancos e o foco volta para o campo em branco ...
-Porém ele não vai validando por ordem dos campos na tela, e sim por ordem totalmente desordenada, onde ordeno para ele ir por ordem dos campos?
Cara, acho que o que resta é ver se o TabIndex dos seus campos estão ordenados, pois se o loop percorre todos os textbox ele deve seguir o TabIndex (se não me engano)
Tópico encerrado , respostas não são mais permitidas