Pesquisa por busca aproximada

Delphi

22/11/2016

Bom dia pessoal!

Mas uma vez estou aqui pedindo auxilio aos mestres!!!!

Tenho um Edit que uso como pesquisa. Como faço para implementar uma busca por aproximação, ou seja, quando digitar a primeira letra já me trazer os nomes que começam com a letra digitada.


Obs. ADOTABLE e access

desde já agradeço pela colaboração.
Mailson Janoca

Mailson Janoca

Curtidas 0

Melhor post

Raimundo Pereira

Raimundo Pereira

23/11/2016

Ok, tente.

O indicado é que se coloque no envento key press, mais pode colocar no event onchange.
Se colocar no evento key press, só será realizada a consulta quando pressionar a tecla enter.
Se colocar no evento Onchange, qualquer letra que digitar no edit, será realizado o filtro imediato.

Para Onchange basta colar o código abaixo e colocar de acordo com sua base de dados
DM.adoquery1.close;
DM.adoquery1.Sql.clear;
DM.adoquery1.Sql.Add('select * from sua tabela');
DM.adoquery1.Sql.Add('where nome like :VarNome');
DM.adoquery1.Parameters.ParamByName('VarNome').Value := '%' + trim(Edit2.Text) + '%';
DM.adoquery1.open;

Para KeyPress

if key=#13 then
begin
DM.adoquery1.close;
DM.adoquery1.Sql.clear;
DM.adoquery1.Sql.Add('select * from sua tabela');
DM.adoquery1.Sql.Add('where nome like :VarNome');
DM.adoquery1.Parameters.ParamByName('VarNome').Value := '%' + trim(Edit2.Text) + '%';
DM.adoquery1.open;
end;
end;
GOSTEI 1

Mais Respostas

Jones Granatyr

Jones Granatyr

22/11/2016

Opa! Você pode usar o comando LOCATE do ADOTable
GOSTEI 0
Raimundo Pereira

Raimundo Pereira

22/11/2016

no evento onchange coloque

if (dm.suaquery.active=true) and (dm.suaquery.recordcount)>0 then
dm.suaquery.Locate('',EDT_PESQ.Text,[loCaseInsensitive, loPartialKey]);
GOSTEI 0
Mailson Janoca

Mailson Janoca

22/11/2016

Boa tarde!

Agradeço pela ajuda mas não é o que estou precisando.

Quero que vai selecionando conforme vou digitando no TEdit.
GOSTEI 0
Raimundo Pereira

Raimundo Pereira

22/11/2016

Teste o comando acima, confirme se realmente não é o que precisa
Pois o comando que passei, de acordo você vai digitando algo no edit ele vai tentando localizar na query.

Não é o que precisa? se não, amigo, explique melhor o que quer dizer "Quero que vai selecionando conforme vou digitando no TEdit."
GOSTEI 0
Mailson Janoca

Mailson Janoca

22/11/2016

Vou tentar ser mais claro...

No TEdit quero implementar um código para busca aproximada, ou seja, ao digitar uma letra vai filtrando na GRID e que apareça somente os nomes conforme letra inicial.

exemplo: Digitei letra 'J'

GRID: Quero que apareça somente os clientes com letra J.
GOSTEI 0
Mailson Janoca

Mailson Janoca

22/11/2016

Vou tentar ser mais claro...

No TEdit quero implementar um código para busca aproximada, ou seja, ao digitar uma letra vai filtrando na GRID e que apareça somente os nomes conforme letra inicial.

exemplo: Digitei letra ''J''

GRID: Quero que apareça somente os clientes com letra J.
GOSTEI 0
Mailson Janoca

Mailson Janoca

22/11/2016

Muito obrigado!

Perfeito o código!
GOSTEI 0
POSTAR