FILTRAR LETRA POR LETRA (DAO)
Sim, fiz exatamente como ele descreveu.
Tente assim:
ou assim:
www.maximoaccess.com/t5956-resolvidoerro-de-sintaxeoperador-faltando-na-expressao-consulta-3075
ComandoSQL = [Ô]select * from tb_cad WHERE Nome Like * [Ô] & txtnome.Value & [Ô]*[Ô]
ou assim:
ComandoSQL = [Ô]select * from tb_cad WHERE Nome Like & [Ô] [Ô]*[Ô] [Ô] & txtnome.Value & [Ô] [Ô]*[Ô] [Ô]
www.maximoaccess.com/t5956-resolvidoerro-de-sintaxeoperador-faltando-na-expressao-consulta-3075
A sua modificada.
Private Sub Text4_Change()
Dim BANCO As DAO.Database
Dim CONSULTA As DAO.Recordset
Set BANCO = OpenDatabase([Ô]Dados.MDB[Ô])
lstLista.Clear
Set CONSULTA = BANCO.OpenRecordset([Ô]SELECT * [Ô] & [Ô]FROM Produtos WHERE NomeProduto LIKE [ô][Ô] & Trim(Text4.Text) & [Ô]*[ô][Ô], dbOpenSnapshot)
While Not CONSULTA.EOF
With Me.lstLista
.AddItem [Ô][Ô] & CONSULTA(2)
End With
CONSULTA.MoveNext
Wend
CONSULTA.Close
Set CONSULTA = Nothing
End Sub
Private Sub Text4_Change()
Dim BANCO As DAO.Database
Dim CONSULTA As DAO.Recordset
Set BANCO = OpenDatabase([Ô]Dados.MDB[Ô])
lstLista.Clear
Set CONSULTA = BANCO.OpenRecordset([Ô]SELECT * [Ô] & [Ô]FROM Produtos WHERE NomeProduto LIKE [ô][Ô] & Trim(Text4.Text) & [Ô]*[ô][Ô], dbOpenSnapshot)
While Not CONSULTA.EOF
With Me.lstLista
.AddItem [Ô][Ô] & CONSULTA(2)
End With
CONSULTA.MoveNext
Wend
CONSULTA.Close
Set CONSULTA = Nothing
End Sub
Jaba, as 2 instruções deram erro de sintaxe.... Desculpe quem gosta, mas SQL é chatinho demais...
Omar, de fato um avanço houve com sua rotina, fiz uma adaptação nela para rodar, não deu mais erro de sintaxe, mas nada filtrou. Ficou assim:
Private Sub txTnome_Change()
lstLista.Clear
[ô]procura pelo campo informado no textbox
Dim ComandoSQL As String
Dim LINHALISTBOX As Variant
Dim busca As Variant
ComandoSQL = [Ô]select * from tb_cad[Ô]
Call Conecta
lstLista.Clear
Set CONSULTA = BANCO.OpenRecordset([Ô]SELECT * [Ô] & [Ô]FROM tb_cad WHERE Nome LIKE [ô][Ô] & Trim(txtnome.Text) & [Ô]*[ô][Ô], dbOpenSnapshot)
While Not CONSULTA.EOF
With Me.lstLista
.AddItem [Ô][Ô] & CONSULTA(1)
End With
CONSULTA.MoveNext
Wend
CONSULTA.Close
Set CONSULTA = Nothing
End Sub
Testei deste jeito e obtive resposta positiva.
Private Sub Text6_Change()
lstLista.Clear
[ô]procura pelo campo informado no textbox
Dim ComandoSQL As String
Dim LINHALISTBOX As Variant
Dim busca As Variant
ComandoSQL = [Ô]select * from PRODUTOS[Ô]
Call CONECTA
lstLista.Clear
Set CONSULTA = BANCO.OpenRecordset([Ô]SELECT * [Ô] & [Ô]FROM Produtos WHERE NomeProduto LIKE [ô][Ô] & Trim(Text6.Text) & [Ô]*[ô][Ô], dbOpenSnapshot)
While Not CONSULTA.EOF
With Me.lstLista
.AddItem [Ô][Ô] & CONSULTA(1)
End With
CONSULTA.MoveNext
Wend
CONSULTA.Close
Set CONSULTA = Nothing
End Sub
Private Sub Text6_Change()
lstLista.Clear
[ô]procura pelo campo informado no textbox
Dim ComandoSQL As String
Dim LINHALISTBOX As Variant
Dim busca As Variant
ComandoSQL = [Ô]select * from PRODUTOS[Ô]
Call CONECTA
lstLista.Clear
Set CONSULTA = BANCO.OpenRecordset([Ô]SELECT * [Ô] & [Ô]FROM Produtos WHERE NomeProduto LIKE [ô][Ô] & Trim(Text6.Text) & [Ô]*[ô][Ô], dbOpenSnapshot)
While Not CONSULTA.EOF
With Me.lstLista
.AddItem [Ô][Ô] & CONSULTA(1)
End With
CONSULTA.MoveNext
Wend
CONSULTA.Close
Set CONSULTA = Nothing
End Sub
Pode ser assim também:
WHERE Left(Produtos.NomeProduto, 1) = [ô][Ô] + Criterio + [Ô][ô]
WHERE Left(Produtos.NomeProduto, 1) = [ô][Ô] + Criterio + [Ô][ô]
Legal Omar,
No meu list novamente apareceu vazio, não acreditei e fiz um breakpoint pra ver todos os caminhos que a rotina percorre.
O estranho é que ela encontra a pesquisa, e popula o listbox corretamente, porém o resultado não é exibido no list, ele fica vazio. Já procurei e não existe nenhuma outra rotina associada com este textbox, até mudei o nome dele e a mesma coisa ocorreu
O que será que esta acontecendo?
Obrigada por toda ajuda.
No meu list novamente apareceu vazio, não acreditei e fiz um breakpoint pra ver todos os caminhos que a rotina percorre.
O estranho é que ela encontra a pesquisa, e popula o listbox corretamente, porém o resultado não é exibido no list, ele fica vazio. Já procurei e não existe nenhuma outra rotina associada com este textbox, até mudei o nome dele e a mesma coisa ocorreu
O que será que esta acontecendo?
Obrigada por toda ajuda.
Achei meu erro Omar, inexperiência minha, ocultei uma coluna e esqueci disso. Sua rotina ficou perfeita!
Muito obrigada todo mundo. Acho que agora termino esse projetinho. GRAÇAS A TODOS VOCÊS!
Feliz 2017 pra todo mundo
Muito obrigada todo mundo. Acho que agora termino esse projetinho. GRAÇAS A TODOS VOCÊS!
Feliz 2017 pra todo mundo
Tópico encerrado , respostas não são mais permitidas