ERRO COM SETFOCUS EM UM TEXTOBOX.
galera... no comando txtpneu_1.setfocus - grafado em vermelho, ocorre o erro:
Run-time error '5':
Invalid procedure call or argument
alguém faz idéia do que pode ser?
If (txtPneu_1 = txtPneu_2) Or (txtPneu_1 = txtPneu_3) Or _
(txtPneu_1 = txtPneu_4) Or (txtPneu_1 = txtPneu_5) Or _
(txtPneu_1 = txtPneu_6) Or (txtPneu_1 = txtPneu_7) Or _
(txtPneu_1 = txtPneu_8) Or (txtPneu_1 = txtPneu_9) Or _
(txtPneu_1 = txtPneu_10) Or (txtPneu_1 = txtPneu_11) Or _
(txtPneu_1 = txtPneu_12) Or (txtPneu_1 = txtEstepe_1) Or _
(txtPneu_1 = txtEstepe_2) Then
MsgBox "Já existe um Pneu com este Código neste VeÃculo.", vbExclamation, "Atenção"
txtPneu_1.SelStart = 0
txtPneu_1.SelLength = Len(txtpenu_1)
[txt-backcolor=#ff0000]txtPneu_1.SetFocus[/txt-backcolor]
Exit Function
End If
Run-time error '5':
Invalid procedure call or argument
alguém faz idéia do que pode ser?
If (txtPneu_1 = txtPneu_2) Or (txtPneu_1 = txtPneu_3) Or _
(txtPneu_1 = txtPneu_4) Or (txtPneu_1 = txtPneu_5) Or _
(txtPneu_1 = txtPneu_6) Or (txtPneu_1 = txtPneu_7) Or _
(txtPneu_1 = txtPneu_8) Or (txtPneu_1 = txtPneu_9) Or _
(txtPneu_1 = txtPneu_10) Or (txtPneu_1 = txtPneu_11) Or _
(txtPneu_1 = txtPneu_12) Or (txtPneu_1 = txtEstepe_1) Or _
(txtPneu_1 = txtEstepe_2) Then
MsgBox "Já existe um Pneu com este Código neste VeÃculo.", vbExclamation, "Atenção"
txtPneu_1.SelStart = 0
txtPneu_1.SelLength = Len(txtpenu_1)
[txt-backcolor=#ff0000]txtPneu_1.SetFocus[/txt-backcolor]
Exit Function
End If
Por um acaso, você não desabilitou o campo não?
Pode ser que você desabilitou ele em algum lugar e não habilitou novamente, tente fazer assim:
Antes de dar o setfocus, habilite o text
txtPneu_1.enabled = true
txtPneu_1.SetFocus
Quem sabe não é isso.
Pode ser que você desabilitou ele em algum lugar e não habilitou novamente, tente fazer assim:
Antes de dar o setfocus, habilite o text
txtPneu_1.enabled = true
txtPneu_1.SetFocus
Quem sabe não é isso.
putz... é verdade...
passou desapercebido...
obrigado pela ajuda
passou desapercebido...
obrigado pela ajuda
eu acho q ele nao desabilitou, jah deu uns problema desse comigo e eu resolvi setando o foco do campo apos uma msg de erro no evento ON ACTIVATE do form. Sempre que coloquei o focu para ser apontado no campo do erro apos uma msg de erro aconteceu isso dae.
tente assim:
declare uma variavel do tipo boolean, mas nao pode ser como Private, ou entao no evento On Activate do formulario ele sempre vai ler ela como False
Option Explicit
Dim vErro as Boolean
If (txtPneu_1 = txtPneu_2) Or (txtPneu_1 = txtPneu_3) Or _
(txtPneu_1 = txtPneu_4) Or (txtPneu_1 = txtPneu_5) Or _
(txtPneu_1 = txtPneu_6) Or (txtPneu_1 = txtPneu_7) Or _
(txtPneu_1 = txtPneu_8) Or (txtPneu_1 = txtPneu_9) Or _
(txtPneu_1 = txtPneu_10) Or (txtPneu_1 = txtPneu_11) Or _
(txtPneu_1 = txtPneu_12) Or (txtPneu_1 = txtEstepe_1) Or _
(txtPneu_1 = txtEstepe_2) Then
vErro = True
MsgBox "Já existe um Pneu com este Código neste VeÃculo.", vbExclamation, "Atenção"
Exit Function
End If
Private Sub Form_Activate()
if vErro = True Then
txtPenu_1.Setfocus
txtPneu_1.SelStart = 0
txtPneu_1.SelLength = Len(txtpenu_1)
vErro = False
end if
End Sub
Eh isso ae, mais ou menos a ideia eh essa...
t+
tente assim:
declare uma variavel do tipo boolean, mas nao pode ser como Private, ou entao no evento On Activate do formulario ele sempre vai ler ela como False
Option Explicit
Dim vErro as Boolean
If (txtPneu_1 = txtPneu_2) Or (txtPneu_1 = txtPneu_3) Or _
(txtPneu_1 = txtPneu_4) Or (txtPneu_1 = txtPneu_5) Or _
(txtPneu_1 = txtPneu_6) Or (txtPneu_1 = txtPneu_7) Or _
(txtPneu_1 = txtPneu_8) Or (txtPneu_1 = txtPneu_9) Or _
(txtPneu_1 = txtPneu_10) Or (txtPneu_1 = txtPneu_11) Or _
(txtPneu_1 = txtPneu_12) Or (txtPneu_1 = txtEstepe_1) Or _
(txtPneu_1 = txtEstepe_2) Then
vErro = True
MsgBox "Já existe um Pneu com este Código neste VeÃculo.", vbExclamation, "Atenção"
Exit Function
End If
Private Sub Form_Activate()
if vErro = True Then
txtPenu_1.Setfocus
txtPneu_1.SelStart = 0
txtPneu_1.SelLength = Len(txtpenu_1)
vErro = False
end if
End Sub
Eh isso ae, mais ou menos a ideia eh essa...
t+
Tópico encerrado , respostas não são mais permitidas