FILTRAR LETRA POR LETRA (DAO)
Oi Pessoal,
Graças a ajuda de vocês tô quase terminando meu projetinho. Falta algumas coisinhas e tô querendo dar uma incrementada nas pesquisas.
Atualmente minhas pesquisas fazem um filtro especÃfico, por exemplo se eu digito [Ô]JO[Ô] ele não irá filtrar JOSELICE, só irá filtrar se eu digitar o nome todo. Eu gostaria que a pesquisa buscasse tudo que tiver [Ô]JO[Ô], já fiz algumas buscas mas acho que não tô sabendo pesquisar pelo nome correto, alguém poderia me ajudar ?
Eu até tentei fazer alguma coisa, mas sem êxito, ficou assim:
Obrigada desde já
Joy
Graças a ajuda de vocês tô quase terminando meu projetinho. Falta algumas coisinhas e tô querendo dar uma incrementada nas pesquisas.
Atualmente minhas pesquisas fazem um filtro especÃfico, por exemplo se eu digito [Ô]JO[Ô] ele não irá filtrar JOSELICE, só irá filtrar se eu digitar o nome todo. Eu gostaria que a pesquisa buscasse tudo que tiver [Ô]JO[Ô], já fiz algumas buscas mas acho que não tô sabendo pesquisar pelo nome correto, alguém poderia me ajudar ?
Eu até tentei fazer alguma coisa, mas sem êxito, ficou assim:
Obrigada desde já
Joy
Sub FNOME()
lstLista.Clear
Dim ComandoSQL As String
Dim LINHALISTBOX As Variant
Dim busca As Variant
ComandoSQL = [Ô]select * from tb_cad[Ô]
Call Conecta
Set consulta = banco.OpenRecordset(ComandoSQL)
busca = txtnome.Value
While Not consulta.EOF
If [Ô][Nome] like [ô]*[Ô] & txtnome.Text & [Ô]*[ô][Ô] Then
LINHALISTBOX = 0
With Me.lstLista
.AddItem
.List(LINHALISTBOX, 0) = [Ô][Ô] & consulta(0) [ô]codigo
.List(LINHALISTBOX, 1) = [Ô][Ô] & consulta(1) [ô]nome
.List(LINHALISTBOX, 2) = [Ô][Ô] & consulta(2) [ô]entrada
.List(LINHALISTBOX, 3) = [Ô][Ô] & consulta(3) [ô]saida
End With
End If
LINHALISTBOX = LINHALISTBOX + 1
consulta.MoveNext
Wend
Desconecta
End Sub
Faz direto na consulta:
ComandoSQL = [Ô]select * from tb_cad WHERE Nome Like & [txt-color=#e80000][ô]%[/txt-color][Ô] & txtnome.Value & [Ô][txt-color=#e80000]%[ô][/txt-color][Ô]
Bacana Jaba, só que ta dando erro de sintaxe e apanho até em SQL,....
Pode me ajudar ?
Pode me ajudar ?
Se seu banco for Access, tente assim:
ComandoSQL = [Ô]select * from tb_cad WHERE Nome Like & [ô][txt-color=#e80000]*[/txt-color][Ô] & txtnome.Value & [Ô][txt-color=#e80000]*[/txt-color][ô][Ô]
sim, meu banco é ACCESS, mas infelizmente a sintaxe ainda ta incorreta. Dando o famigerado erro 3075....
Cria um novo texbox e faça deste modo.
Private Sub txtProcurar_Change()
Seulistbox.Clear
[ô]procura pelo campo informado no textbox
rs.FindFirst [Ô]Nome like [ô]*[Ô] & txtProcurar.Text & [Ô]*[ô][Ô] [ô]Nome Campo da tabela
If rs.NoMatch Then
MsgBox [Ô]Nenhum registro foi encontrado[Ô], vbExclamation, [Ô]Procurar[Ô]
Exit Sub
End If
Do Until rs.NoMatch = True
rs.FindNext [Ô]Nome like [ô]*[Ô] & txtProcurar.Text & [Ô]*[ô][Ô]
Seulistbox.AddItem rs.Fields([Ô]Nome[Ô])
Loop
End Sub
Private Sub txtProcurar_Change()
Seulistbox.Clear
[ô]procura pelo campo informado no textbox
rs.FindFirst [Ô]Nome like [ô]*[Ô] & txtProcurar.Text & [Ô]*[ô][Ô] [ô]Nome Campo da tabela
If rs.NoMatch Then
MsgBox [Ô]Nenhum registro foi encontrado[Ô], vbExclamation, [Ô]Procurar[Ô]
Exit Sub
End If
Do Until rs.NoMatch = True
rs.FindNext [Ô]Nome like [ô]*[Ô] & txtProcurar.Text & [Ô]*[ô][Ô]
Seulistbox.AddItem rs.Fields([Ô]Nome[Ô])
Loop
End Sub
Sub FNOME()
lstLista.Clear
Dim ComandoSQL As String
Dim LINHALISTBOX As Variant
Dim busca As Variant
ComandoSQL = [Ô]SELECT * FROM from tb_cad WHERE nome Like [ô][Ô] & txtnome.Text & [Ô]%[ô][Ô]
Call Conecta
Set consulta = banco.OpenRecordset(ComandoSQL)
busca = txtnome.Value
While Not consulta.EOF
If [Ô][Nome] like [ô]*[Ô] & txtnome.Text & [Ô]*[ô][Ô] Then
LINHALISTBOX = 0
With Me.lstLista
.AddItem
.List(LINHALISTBOX, 0) = [Ô][Ô] & consulta(0) [ô]codigo
.List(LINHALISTBOX, 1) = [Ô][Ô] & consulta(1) [ô]nome
.List(LINHALISTBOX, 2) = [Ô][Ô] & consulta(2) [ô]entrada
.List(LINHALISTBOX, 3) = [Ô][Ô] & consulta(3) [ô]saida
End With
End If
LINHALISTBOX = LINHALISTBOX + 1
consulta.MoveNext
Wend
Desconecta
End Sub
lstLista.Clear
Dim ComandoSQL As String
Dim LINHALISTBOX As Variant
Dim busca As Variant
ComandoSQL = [Ô]SELECT * FROM from tb_cad WHERE nome Like [ô][Ô] & txtnome.Text & [Ô]%[ô][Ô]
Call Conecta
Set consulta = banco.OpenRecordset(ComandoSQL)
busca = txtnome.Value
While Not consulta.EOF
If [Ô][Nome] like [ô]*[Ô] & txtnome.Text & [Ô]*[ô][Ô] Then
LINHALISTBOX = 0
With Me.lstLista
.AddItem
.List(LINHALISTBOX, 0) = [Ô][Ô] & consulta(0) [ô]codigo
.List(LINHALISTBOX, 1) = [Ô][Ô] & consulta(1) [ô]nome
.List(LINHALISTBOX, 2) = [Ô][Ô] & consulta(2) [ô]entrada
.List(LINHALISTBOX, 3) = [Ô][Ô] & consulta(3) [ô]saida
End With
End If
LINHALISTBOX = LINHALISTBOX + 1
consulta.MoveNext
Wend
Desconecta
End Sub
Gente do céu... nenhuma das 2 sugestões deu certo. Será que eu não tô compreendendo a explicação de vocês ?
A do OMAR dá erro na linha abaixo, dizendo que o objeto é obrigatório. Omar, eu não preciso definir o rs ?
Já a sugestão do FabrÃcio dá erro de sintaxe de novo (operador faltando).....
A do OMAR dá erro na linha abaixo, dizendo que o objeto é obrigatório. Omar, eu não preciso definir o rs ?
rs.FindFirst [Ô]Nome like [ô]*[Ô] & txtProcurar.Text & [Ô]*[ô][Ô] [ô]Nome Campo da tabela
Já a sugestão do FabrÃcio dá erro de sintaxe de novo (operador faltando).....
A sugestão do OMAR, onde está [Ô]Nome[Ô], você coloca o nome do campo da sua tabela.
Sim, mas o nome é [Ô]Nome[Ô] mesmo.
Veja
http://ap.imagensbrasil.org/image/Ec7byu
Veja
http://ap.imagensbrasil.org/image/Ec7byu
Citação::
Sim, mas o nome é [Ô]Nome[Ô] mesmo.
Veja
http://ap.imagensbrasil.org/image/Ec7byu
E o nome da sua textbox é [Ô]txtProcurar[Ô] mesmo?
Tópico encerrado , respostas não são mais permitidas