ERRO COM SETFOCUS EM UM TEXTOBOX.

JEAN.JEDSON 25/07/2005 13:48:37
#95916
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
LEANDRO.LUIZ 25/07/2005 13:55:57
#95917
Resposta escolhida
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.
JEAN.JEDSON 25/07/2005 14:03:25
#95919
putz... é verdade...
passou desapercebido...
obrigado pela ajuda
USUARIO.EXCLUIDOS 25/07/2005 14:08:46
#95921
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+
Tópico encerrado , respostas não são mais permitidas