Filtro no MDO

Firebird

16/08/2004

Eu quero colocar no meu formulário um pesquisa com filtro, onde o usuário digita o nome de uma pessoa no componente edit e ao mesmo tempo o sistema vai filtrando e mostrando o nome no grid. Estou utilizando FireBird e componente MDO. Como posso fazer isso?


Rjcerri

Rjcerri

Curtidas 0

Respostas

Afarias

Afarias

16/08/2004

uma opção é usando SQL (´filtro´ no servidor´) ::


com o SQL = ´select <campos> from tabela where nome starting :nome´

dai é só preencher o parâmetro como o q o usuário digitar e re-executar a consulta (abrir novamente)


T+


GOSTEI 0
Rjcerri

Rjcerri

16/08/2004

funcionou mas ele mostra no grid 3 vezes o nome, sendo q na tabela só existe um nome, o q pode ser isso?


GOSTEI 0
Afarias

Afarias

16/08/2004

não faço idéia... como ficou seu SQL??

Será o componente q está usando uni-direcional? Algum bug??



T+


GOSTEI 0
Rjcerri

Rjcerri

16/08/2004

O meu comando está desse jeito:
procedure TForm1.Edit1Change(Sender: TObject);
begin
query.SQL.Clear;
query.SQL.Add(´select nomeproduto from tbcotacao where nomeproduto starting :nome´);
query.ParamByName(´nome´).AsString:=edit1.Text;
query.Filtered:=true;
query.Open;
end;

Utilizei os componentes zeos e mdo e o banco é firebird e nada deu certo.

E ainda utilizei esse:
query.Filter:=´nomeproduto=´´´+edit1.Text+´*´´´;
query.Filtered:=true;

Também não funcionou.


GOSTEI 0
Afarias

Afarias

16/08/2004

No caso do primeiro código (com filtro no SQL) não é necessária a linha:

query.Filtered:=true;


No mais, não sei o q pode estar havendo -- me parece um bug!


T+


GOSTEI 0
POSTAR