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....


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