Fórum Como filtrar um DBGrid através de um Edit no Delphi utilizando ADOQUERY #598284
30/10/2018
0
tudo bem pessoal?
Estou com um problema em meu sistema, onde estou tentando filtrar os dados de minha DBGrid através de um Edit, porém estou sem resultado.
Estou colocando o comando no Evento OnChange:
if edit1.Text <>'' then
begin
ADOQUEY1.Locate('DESCRICAO_X', edit1.Text,[loPartialKey, loCaseInsensitive]);
end;
Gostaria que assim que eu fosse digitando no Edit ele já iria filtrando na DBGrid... Como posso realizar esse procedimento?
Vinicius David
Curtir tópico
+ 0Post mais votado
30/10/2018
O comando Locate apenas tenta localizar o registro posicionando o cursor no registro encontrado.
O comando Filter mostra apenas o registro que correspondem a condição criada.
Veja um exemplo do Filter:
if Edit1.Text <> EmptyStr then
begin
with Adoquery1 do
begin
Filtered := False;
Filter := 'DESCRICAO_X like ' + QuotedStr('*' + Edit1.Text + '*');
Filtered := True;
end;
end;Natanael Ferreira
Gostei + 1
Mais Posts
30/10/2018
Vinicius David
Ao tentar colocar esse código no OnChange aparece essa mensagem:
O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado.
Seria no Evento OnChange do Edit que devo colocar?
Gostei + 0
31/10/2018
Natanael Ferreira
O nome do campo realmente é DESCRICAO_X ? Verifique o nome do campo.
Gostei + 0
06/11/2018
Vinicius David
No query que estou utilizando eu crio um novo FIELD e atribuo esse field a outro ADOQUERY. Coloco o nome da outra tabela do ADOQUERY e mesmo assim não consigo.
Quando utilizo o código:
ADOQUEY1.Locate('DESCRICAO', edit1.Text,[loPartialKey, loCaseInsensitive]);
Porém em outra tabela e não crio outro FIELD para juntar as tabelas ele da certo, onde a DBGrid mostra com a seta onde esta o Processo que necessito.
Esse comando FILTER que me passou não consegui utiliza-lo.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)