CONSULTA COM TEXTBOX/DBGRID
Olá! estou tentando adaptar uma rotina d busca num controle Textbox para funcionar com o Dbgrid1. A rotina eh a seguinte, com o q jah fiz ateh aki.
E o mesmo gera um erro ao ser pressionado o botão ( ' ) tipo acentuação.
Tipo de erro:
Run-Time error 3075
Erro de sintaxe na sequência de caracteres na expressão de consulta
'Nome Linke "*". O que será??
'--------------------------------------------------------------------------------------------
Private Sub txtLocalizar_Change()
Dim SQL As String
Dim criterio As String
criterio = Chr$(39) & txtLocalizar.Text & "*" & Chr(39)
SQL = "SELECT Nome,SobreNome,Idade FROM TblNome WHERE Nome LIKE " & criterio
Data1.RecordSource = SQL
Data1.Refresh
End Sub
'--------------------------------------------------------------------------------------------
E o mesmo gera um erro ao ser pressionado o botão ( ' ) tipo acentuação.
Tipo de erro:
Run-Time error 3075
Erro de sintaxe na sequência de caracteres na expressão de consulta
'Nome Linke "*". O que será??
'--------------------------------------------------------------------------------------------
Private Sub txtLocalizar_Change()
Dim SQL As String
Dim criterio As String
criterio = Chr$(39) & txtLocalizar.Text & "*" & Chr(39)
SQL = "SELECT Nome,SobreNome,Idade FROM TblNome WHERE Nome LIKE " & criterio
Data1.RecordSource = SQL
Data1.Refresh
End Sub
'--------------------------------------------------------------------------------------------
Quando vc insere acentos como a aspa simples, ela se junda a instrução e acaba dando errado mesmo. Com o acento a instrução se encerra ali.
Vc tem que bloquea estas teclas.
No evento KeyPress teste a keyAscii das aspas simples e duplas(as que custumam dar problemas), caso não saiba o codigo, teste a váriavel com msgbox, ele exibira o codigo ai..
Falow
Vc tem que bloquea estas teclas.
No evento KeyPress teste a keyAscii das aspas simples e duplas(as que custumam dar problemas), caso não saiba o codigo, teste a váriavel com msgbox, ele exibira o codigo ai..
Private Sub txt_KeyPress(KeyAscii As Integer)
If KeyAscii <> (codigo das aspas) then KeyAscii = 0
End Sub
Falow
Tópico encerrado , respostas não são mais permitidas