Filtro no MDO
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
Curtidas 0
Respostas
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+
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
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
16/08/2004
não faço idéia... como ficou seu SQL??
Será o componente q está usando uni-direcional? Algum bug??
T+
Será o componente q está usando uni-direcional? Algum bug??
T+
GOSTEI 0
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.
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
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+
query.Filtered:=true;
No mais, não sei o q pode estar havendo -- me parece um bug!
T+
GOSTEI 0