SISTEMA DE BUSCA DE PRODUTOS MAIS RAPIDO

WEBIER 19/10/2011 15:48:34
#387087
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 ?
MARCELO.TREZE 19/10/2011 16:04:03
#387092
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

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
WEBIER 22/10/2011 12:28:09
#387420
estou fazendo assim:

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)
MARCELO.TREZE 22/10/2011 13:49:13
#387422
é 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 & [Ô]%[ô][Ô]
WEBIER 24/10/2011 11:59:07
#387547
coloquei assim:
 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?
MARCELO.TREZE 24/10/2011 12:25:24
#387549
Resposta escolhida
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

SQL = [Ô]SELECT * FROM PRODUTOS WHERE DESCRICAO like [ô]*[Ô] & txtCodBarra.Text & [Ô]*[ô][Ô]


essa vai funcionar para pesquisar inicio, meio e fim
Página 2 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas