FILTRAR LETRA POR LETRA (DAO)

JOYYY 02/01/2017 12:23:23
#470249
Sim, fiz exatamente como ele descreveu.
JABA 02/01/2017 13:15:03
#470252
Tente assim:

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
OMAR2011 02/01/2017 14:12:09
#470255
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
JOYYY 02/01/2017 14:43:36
#470256

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
OMAR2011 02/01/2017 15:18:45
#470257
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
IRENKO 02/01/2017 15:38:42
#470259
Pode ser assim também:
WHERE Left(Produtos.NomeProduto, 1) = [ô][Ô] + Criterio + [Ô][ô]
JOYYY 02/01/2017 15:40:42
#470260
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.
JOYYY 02/01/2017 16:20:19
#470261
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
Página 2 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas