KEYPRESS

USUARIO.EXCLUIDOS 14/08/2007 17:00:07
#230882
Galera tenho um problema no keypress, quando faço a busca ele entra
aqui Private Sub txtdes_KeyPress(KeyAscii As Integer) e logo depois vai para o end sub.

'Eu preciso que ele entre aqui nesta validação aqui embaixo.

If KeyAscii = 13 Then
SendKeys ("tab")
End If
Dim tb As String
tb = "select Descricao, Valor from tbmercadoria where Codigo like '" & txtdes.Text & "%'"
Set tbsql = con.Execute(tb)
Do Until tbsql.EOF
txtdes.Text = tbsql("descricao")
txtval.Text = tbsql("valor")
tbsql.MoveNext
Loop
End Sub


USUARIO.EXCLUIDOS 14/08/2007 17:14:11
#230884
Resposta escolhida
Private Sub txtdes_KeyPress(KeyAscii As Integer) 'e logo depois vai para o end sub.

'Eu preciso que ele entre aqui nesta validação aqui embaixo.

If KeyAscii = 13 Then
Dim tb As String
tb = "select Descricao, Valor from tbmercadoria where Codigo like '" & txtdes.Text & "%'"
Set tbsql = con.Execute(tb)
If Not tbsql.EOF Then
txtdes.Text = tbsql("descricao")
txtval.Text = tbsql("valor")
else
MsgBox("Mercadoria não cadastrada")
End If
SendKeys ("tab")
End If
End Sub

USUARIO.EXCLUIDOS 14/08/2007 17:53:04
#230903
Não está legal fazer a validação no evento _KeyPress. Melhor validar no evento _VALIDATE, ou seja,
toda vez que o usuário sair de uma textbox (via enter, tab ou click do mouse) o evento _VALIDATE da textbox será executado. Exemplo:

Private Sub txtdes_VALIDATE(KeepFocus as Boolean)
Dim tb As String
tb = "select Descricao, Valor from tbmercadoria where Codigo like '" & txtdes.Text & "%'"
Set tbsql = con.Execute(tb)
If Not tbsql.EOF Then
txtdes.Text = tbsql("descricao")
txtval.Text = tbsql("valor")
else
MsgBox("Mercadoria não cadastrada")
KeepFocus = True
txtdes.SetFocus
End If
End Sub


At,
USUARIO.EXCLUIDOS 14/08/2007 18:16:39
#230910
Testei o evento validate mas não deu certo.
USUARIO.EXCLUIDOS 15/08/2007 11:13:34
#230987
DENISSON, teste ai a seguinte modificação:

Private Sub txtdes_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
KeyAscii=0
Dim tb As String
tb = "select Descricao, Valor from tbmercadoria where Codigo like '" & txtdes.Text & "%'"
Set tbsql = con.Execute(tb)
Do Until tbsql.EOF
txtdes.Text = tbsql("descricao")
txtval.Text = tbsql("valor")
tbsql.MoveNext
Loop
SendKeys ("tab")
end if

End Sub



USUARIO.EXCLUIDOS 15/08/2007 11:22:14
#230995
Private Sub txtdes_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Dim tb As String
tb = "select Descricao, Valor from tbmercadoria where Codigo like '" & txtdes.Text & "%'"
Set tbsql = con.Execute(tb)
If Not tbsql.EOF Then 'Nao coloquei em loop, pois acho que só existe uma marcadoria
txtdes.Text = tbsql("descricao")
txtval.Text = tbsql("valor")
else
MsgBox("Mercadoria não cadastrada")
End If
KeyAscii = 0
SendKeys "{TAB}" 'Observe o modo como estou colocando TAB
End If
End Sub
USUARIO.EXCLUIDOS 15/08/2007 13:44:05
#231022
DENISSON,
Citação:

Testei o evento validate mas não deu certo.



Qual erro deu no evento VALIDATE?

USUARIO.EXCLUIDOS 16/08/2007 12:33:14
#231179
Então o que acontece é que quando eu faço a pesquisa ele busca pela primeira letra que digito, eu queria digitar a palavra inteira e quando eu apertar o entrer ele faz a pesquisa.
USUARIO.EXCLUIDOS 16/08/2007 14:21:17
#231201
O Evento _Validate ocorre quando vc aperta o ENTER na textbox (ao término da digitação na textbox).
é disparado da mesma maneira que o _LostFocus, só que você pode dar um CANCEL na textbox sem fazer a validação usando _Validate.
Não entendi o que não está funcionando com o evento _Validate.
Qual é o erro?
USUARIO.EXCLUIDOS 16/08/2007 17:14:18
#231230
Ele aparece escrito (tab) e não faz a pesquisa.
USUARIO.EXCLUIDOS 16/08/2007 17:23:09
#231233
Então Roberto ele não esta entrando no evento validate.
Página 1 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas