SISTEMA DE BUSCA DE PRODUTOS MAIS RAPIDO
Citação::
Usa o autocomplete da combobox...
Tem uma propriedade chamada [Ô]AutoCompleteMode[Ô] alterar para Suggest.
Uso o vb6 e meus combobox nao possui tal propriedade nao!
Alguem tem alguma solução para VB6 ?
Colega WIEBER use a sugestão do colega fininho ou seja
coloque um textbox comum, abaixo dele coloque um listbox com a propriedade visible = false
no change do ou keypress do textbox coloque um filtro para exibir os dados na list box e ao mesmo tempo coloque a propriedade visible do listbox para True
no evento clique do listbox faça o que tem de fazer e coloque para visible = false novamente
exemplo
no change do textbox
no exemplo acima se:
o textbox estiver vazio é visible = False
a pesquisa não retornar resutado é visible = False
a pesquisa encontrar algo então listbox é visible = true e o resultado listado, entendeu
coloque um textbox comum, abaixo dele coloque um listbox com a propriedade visible = false
no change do ou keypress do textbox coloque um filtro para exibir os dados na list box e ao mesmo tempo coloque a propriedade visible do listbox para True
no evento clique do listbox faça o que tem de fazer e coloque para visible = false novamente
exemplo
no change do textbox
Private Sub Text1_Change()
If Text1.Text <> [Ô][Ô] Then
List1.Visible = True
Set Rs = CNN.Execute([Ô]SELECT * FROM tabela WHERE nome Like [Ô] & Text1.Text & [Ô]%[Ô])
If Rs.Bof = True And Rs.EOF = True Then List1.Visible = False
Do While Not Rs.EOF
List1.AddItem Rs!Nome
Rs.MoveNext
Loop
Else
List1.Visible = False
End If
End Sub
no exemplo acima se:
o textbox estiver vazio é visible = False
a pesquisa não retornar resutado é visible = False
a pesquisa encontrar algo então listbox é visible = true e o resultado listado, entendeu
estou fazendo assim:
só que a consulta sempre tá voltando com nenhum registro
coloquei MSGBOX RS.RecordCount para testar e só retorna 0
tem uma tabela tem varios registros... no minimo uns 10 unid de ABSORVENTE...
coloco no textbox [Ô]AB[Ô] e mando buscar... ele retorna 0 (zero)
Private Sub Command1_Click()
If txtCodBarra.Text <> [Ô][Ô] Then
List1.Visible = True
Call Abrir_BancodeDados
SQL = [Ô]SELECT * FROM PRODUTOS WHERE DESCRICAO = [ô]%[Ô] & txtCodBarra.Text & [Ô]%[ô][Ô]
Set RS = BD.OpenRecordset(SQL, dbOpenSnapshot)
If RS.BOF = True And RS.EOF = True Then List1.Visible = False
Do While Not RS.EOF
List1.AddItem RS!DESCRICAO
RS.MoveNext
Loop
Else
List1.Visible = False
End If
End Sub
só que a consulta sempre tá voltando com nenhum registro
coloquei MSGBOX RS.RecordCount para testar e só retorna 0
tem uma tabela tem varios registros... no minimo uns 10 unid de ABSORVENTE...
coloco no textbox [Ô]AB[Ô] e mando buscar... ele retorna 0 (zero)
é pq vc tem que usar o like como indicado
ao invés de
SQL = [Ô]SELECT * FROM PRODUTOS WHERE DESCRICAO [txt-color=#e80000]=[/txt-color] [ô]%[Ô] & txtCodBarra.Text & [Ô]%[ô][Ô]
vc deve usar esta query
SQL = [Ô]SELECT * FROM PRODUTOS WHERE DESCRICAO[txt-color=#e80000] LIKE [/txt-color][ô][Ô] & txtCodBarra.Text & [Ô]%[ô][Ô]
ao invés de
SQL = [Ô]SELECT * FROM PRODUTOS WHERE DESCRICAO [txt-color=#e80000]=[/txt-color] [ô]%[Ô] & txtCodBarra.Text & [Ô]%[ô][Ô]
vc deve usar esta query
SQL = [Ô]SELECT * FROM PRODUTOS WHERE DESCRICAO[txt-color=#e80000] LIKE [/txt-color][ô][Ô] & txtCodBarra.Text & [Ô]%[ô][Ô]
coloquei assim:
[ô]pesquisa todos que [Ô]começarem[Ô] com aquelas letras.... [txt-color=#e80000]DEU CERTO![/txt-color]
Coloquei assim:
[ô]pesquisa todos com conterem aquele [Ô]texto[Ô] em qualquer parte (inicio, meio ou fim).... [txt-color=#e80000]DEU ERRADO![/txt-color]
ele nao dar erro nao... simplesmente ele retorna q nao encontrou nenhum registro.... [txt-color=#e80000]rs.recordcount = 0[/txt-color]
sendo que existe varios registros com aquele criterio.
O que pode ser?
SQL = [Ô]SELECT * FROM PRODUTOS WHERE DESCRICAO like [ô][Ô] & txtCodBarra.Text & [Ô]*[ô][Ô]
[ô]pesquisa todos que [Ô]começarem[Ô] com aquelas letras.... [txt-color=#e80000]DEU CERTO![/txt-color]
Coloquei assim:
SQL = [Ô]SELECT * FROM PRODUTOS WHERE DESCRICAO like [ô]%[Ô] & txtCodBarra.Text & [Ô]%[ô][Ô]
[ô]pesquisa todos com conterem aquele [Ô]texto[Ô] em qualquer parte (inicio, meio ou fim).... [txt-color=#e80000]DEU ERRADO![/txt-color]
ele nao dar erro nao... simplesmente ele retorna q nao encontrou nenhum registro.... [txt-color=#e80000]rs.recordcount = 0[/txt-color]
sendo que existe varios registros com aquele criterio.
O que pode ser?
o problema está realmente na query se a primeira alternativa de certo en tão para segunda vc teria de usar o * ttambém e funcionaria
essa vai funcionar para pesquisar inicio, meio e fim
SQL = [Ô]SELECT * FROM PRODUTOS WHERE DESCRICAO like [ô]*[Ô] & txtCodBarra.Text & [Ô]*[ô][Ô]
essa vai funcionar para pesquisar inicio, meio e fim
Tópico encerrado , respostas não são mais permitidas