Olá Angelo.

É tranquilo... Já que você tá usando o IBQuery é melhor trabalhar direto com o 
SQL que passa pra ele.
Na entrada do form você, se preferir, carrega tudo.. (cuidado com tabelas muito 
grandes).. usando um comando como esse:

  IBQryTabela.SQL.Clear;
  IBQryTabela.Sql.Add('Select * from SuaTabela');
  IBQryTabela.Active := True;

Depois no evento CHANGE do edit você altera o comando incluindo a opção like:


  IBQryTabela.SQL.Clear;
  IBQryTabela.Sql.Add('Select * from SuaTabela where CampoTabela like ' +
                                 QuotedStr(Edit1.Text + '%') +
                                ' order by CampoTabela');
  IBQryTabela.Active := True;

Isso supondo que você esteja fazendo a pesquisa por um campo string, como nome 
ou descrição. 
Aqui o comando procura o que você digita no início do campo. Caso queira 
procurar em qualquer posição coloque um % antes do Edit1.Text também 

  IBQryTabela.SQL.Clear;
  IBQryTabela.Sql.Add('Select * from SuaTabela where CampoTabela like ' +
                                 QuotedStr('%' + Edit1.Text + '%') +
                                ' order by CampoTabela');
  IBQryTabela.Active := True;

Porém, tome um certo cuidado com bases muito grandes. Esse tipo de consulta 
pode causar um pouco de perda de performance. Nesse caso é melhor não abrir a 
tabela toda na entrada e digitar tudo o que deseja buscar primeiro, para depois 
fazer a busca e selecionar só o que interessa. Isso reduz muito o tamanho do 
dataset que será retornado.

Espero que seja isso.

Abraço.

_____________________________________
Claudiney Cogo
N2 Sistemas e Soluções em Informática
Av. São Paulo, 172 - 15º Andar - Sala 1505
Maringá - Paraná
www.n2solutions.com.br
www.studion2.com.br
  ----- Original Message ----- 
  From: Angelo Louzada 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Friday, February 08, 2008 7:30 AM
  Subject: [delphi-br] Como montar uma pesquisa por aproximação


  Amigos, estou utilizando um IBQuery trazendo os dados da tabela de clientes e 
mostrando em um DBGrid gostaria que meu usuário digitasse em um Edit o nome do 
cliente e a medida que ele fosse digitando o nome do cliente o DBGrid fosse 
realizando o filtro palavra por palavra, alguém sabe como posso implementar 
isso?

  Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
  http://br.mail.yahoo.com/

  [As partes desta mensagem que não continham texto foram removidas]



   

  __________ NOD32 2857 (20080207) Information __________

  This message was checked by NOD32 antivirus system.
  http://www.eset.com


[As partes desta mensagem que não continham texto foram removidas]

Responder a