REFORMULAR CAMPO [ô]TEXT[ô]

OMAR2011 17/03/2016 09:08:44
#459355
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.
MILTONSILVA94 17/03/2016 09:28:42
#459356
Variável inválida...
ACCIOLLY 17/03/2016 09:36:15
#459357
é de alguma forma ele não está contando os controles para fazer um loop.
ACCIOLLY 17/03/2016 09:38:38
#459358
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???
ACCIOLLY 17/03/2016 09:41:52
#459359
Porque na verdade todas as codificações que passamos funcionam mas pra isso tem que estar dentro de uma Sub
MILTONSILVA94 17/03/2016 09:44:11
#459360
Verdade ACCIOLLY tava fazendo diversas maneiras e acabei colocando fora da SUB kkk

Private Sub RotinaSalvar()

End Sub
MILTONSILVA94 17/03/2016 09:59:47
#459362
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?
ACCIOLLY 17/03/2016 10:10:21
#459366
repare na condição que você colocou

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...
MILTONSILVA94 17/03/2016 10:30:21
#459371
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?
ACCIOLLY 17/03/2016 10:36:09
#459373
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)
Página 3 de 5 [48 registro(s)]
Tópico encerrado , respostas não são mais permitidas