SISTEMA DE BUSCA DE PRODUTOS MAIS RAPIDO

WEBIER 14/10/2011 10:57:22
#386686
Pessoal, tenho um PDV...

Nele tem um Textbox.... chamando txtCodBarra... o cursor fica ficando nele... quando passo algum produto no leitor que ler o codigo é exibido no textbox... ai é automaticamente adicionado na lista de produtos.... TUDO NORMAL PARA UM PDV

Quando o produto não tem Cod. de Barra... o usuario aperta F2 e é aberto um outro form com todos os produtos cadastrados... apos ele digitar as INICIAS do nome do produto o grid filta e mostrar somente os produtos que contenha aquelas inicias... achando o q queria, pressiono ENTER e seleciono o produto... Voltando assim para a tela anterior e adicionando o produto na LISTA DE PRODUTOS.

pois bem! TUDO FUNCIONANDO!

agora tô querendo uma forma mais rapida para buscar os produtos sem COD. BARRA sem ter que carregar outro form com todos os produtos...

Queria algo estilo GOOGLE...

no textbox quando eu digitasse, por exemplo AÇUCAR, baixo do texte aparecesse todos os nomes q tivesse AÇUCAR em alguma parte. exemplo:

AÇUCAR:
[txt-color=#e80000]Açucar [/txt-color]Cristal Refinado
Biscoito Recheiado com [txt-color=#e80000]Açucar[/txt-color]
Adoçante sem [txt-color=#e80000]Açucar [/txt-color]Royal


como eu faria isso?
SAMUKA 14/10/2011 11:47:07
#386692
Bom dia WEBIER

Isso você consegue atráves de uma consulta SQL.

[Ô]SELECT * FROM tbProduto WHERE Descricao LIKE %[Ô] & txtDescricao.Text & [Ô]% ORDER BY Descricao[Ô]


tbProduto é o nome da Tabela de Produtos
Descricao é o nomem do Campo que contém a descrição do produto

Foram nomes que eu criei ...
KERPLUNK 14/10/2011 11:50:00
#386693
Usando comandos parametrizados ao invés de queries concatenadas, também vai ter um ganho de performance.
COMIKETO 14/10/2011 11:50:51
#386694
bom não sei se ajuda, mas eu trocaria o Text por um combo ou list. e colocaria uma select de busca pelo que foi digitado no proprio controle , no evento keypress do controle

dessa forma ficaria:

  
Private Sub Combo1_KeyPress(KeyAscii As Integer)

Var1 = Combo1.Text [ô]salva o que vc ja digitou na combo antes de dar o clear

Combo1.Clear
SQL = [Ô]SELECT NOME FROM CAD_PRODUTOS WHERE NOME Like [ô][Ô] & Mid(Comto1.Text) & [Ô]*[ô][Ô]
Set RS = Conexao.Execute(SQL)

Do While Not RS.EOF
Combo1.AddItem RS([Ô]NOME[Ô]) [ô]preenche a combo com os dados da busca
RS.MoveNext
Loop

Combo1.Text = Var1 [ô] devolve para a combo o que ja tinha digitado antes

SendKeys [Ô]{F4}[Ô] [ô] abre altomaticamente a combo depois de carregados os dados.
End Sub




dessa forma toda vez que vc digitar uma nova letra ele filtra novamente no banco e atualiza a combo com os dados, acho que assim ficaria bem mais pratico e rapido


espero ter ajudado...

abraço



ou se preferir fazer a busca somente quando terminar de digitar a palavra inteira e precionar o enter ficaria assim:




  

Private Sub Combo1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then [ô] Verifica se foi precionado o ENTER

Var1 = Combo1.Text [ô]salva o que vc ja digitou na combo antes de dar o clear

Combo1.Clear
SQL = [Ô]SELECT NOME FROM CAD_PRODUTOS WHERE NOME Like [ô][Ô] & Mid(Comto1.Text) & [Ô]*[ô][Ô]
Set RS = Conexao.Execute(SQL)

Do While Not RS.EOF
Combo1.AddItem RS([Ô]NOME[Ô]) [ô]preenche a combo com os dados da busca
RS.MoveNext
Loop

Combo1.Text = Var1 [ô] devolve para a combo o que ja tinha digitado antes

SendKeys [Ô]{F4}[Ô] [ô] abre altomaticamente a combo depois de carregados os dados.

KeyAscii = 0 [ô] anula o beep que é emitido ao precionar o enter
Else
End If

End Sub




qualquer coisa poste ai a duvida
MARCELO.TREZE 14/10/2011 14:20:38
#386710
wieber, as dicas acima irão resolver o problema, porém a forma que esta usando é a correta, na realidade o ideal seria não haver produtos sem código de barras, não sem qual estabelecimento comercial está utilizando seu prog mas instrua a pessoa a criar códigos para produtos que não possuem código de barras, exemplo pães, bolos, etc
WEBIER 15/10/2011 20:18:00
#386789
Pessoal obrigado pelas consultas...

Mas tipo, que objeto eu uso estilo pesquisa no google... quando vc digita lá aparece tipo combobox.... aparece abaixo as alternativas... como faço aquele estilo de exibição (conforme a imagem)
WEBIER 18/10/2011 22:25:14
#387020
Alguem ai?
FININHO 19/10/2011 01:12:34
#387028
Uma outra forma seria posicionar uma listbox invisivel embaixo de uma textbox, quando o usuario estiver digitando na textbox ela fica visivel com os resultados da pesquisa, o usuario saiu da texbox torna a oculta-la de novo.
PHOENIX209E 19/10/2011 08:23:18
#387036
Usa o autocomplete da combobox...
Tem uma propriedade chamada [Ô]AutoCompleteMode[Ô] alterar para Suggest.
Página 1 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas