FILTROS :?:

Delphi

20/08/2003

:?: OI PESSOAL DO CLUBE DELPHI.
ESTOU COM PROBLEMAS PARA MIM DIFÍCIL, MAS PARA VOÊS DEVE SER UMA MOLESA.
É O SEGUINTE.

EU POSSUO UM BANCO DE DADOS EM PARADOX, USO DELPHI6,
NO MEU BANCO DE DADOS EXISTE UM CANPO CHAMADO ´TIPO´.
NESSE CAMPO (TIPO), EXTE VÁRIOS CADASTROS VOU COLOCAR SOMENTE DOIS PARA EXEMPLO

TIPO
CIMENTOS
ARAMES


AGORA VEM A PERGUNTA

COMO EU FAÇO UM FILTRO PARA SOMENTE QUANDO EU CLICAR POR EXEMPLO NO RADIOGROUP ITEM CIMENTO EU VER SOMENTE OS TIPOS DE CIMENTO QUE EU TENHO CADASTRADO?


Anjomd

Anjomd

Curtidas 0

Respostas

Allen74

Allen74

20/08/2003

Caro colega,

Para implementar um filtro em um componente TQuery ou TTable, basta definir duas propriedades, Filter e Filtered.

Primeiro, você irá se assegurar que sua tabela não está com o filtro ativado:

Table1.Filtered := False;


depois você define os critérios de filtro alterando a propriedade filter (consulte o help do Delphi para saber mais sobre as condições de filtro):

Table1.Filter := ´TIPO = ´´CIMENTO´´´;
// ou então
Table1.Filter := ´TIPO = ´ + QuotedStr(´CIMENTO´);


Finalmente, você deve ativar o filtro:

Table1.Filtered := True;


Te alerto porém que dependendo do tamanho de suas tabelas, os filtros não serão muito eficientes, podendo tornar suas consultas lentas. Na maioria dos casos é mais recomendável a utilização de uma Query.


GOSTEI 0
Marcelo.c

Marcelo.c

20/08/2003

No evento onclick do RadioGroup:

var i: Integer; k: String;
begin
  i:=RadioGroup1.ItemIndex;
  k:=RadioGroup1.Items[i];
  Tabela.Close;
  Tabela.Filtered:=True;
  Tabela.Filter:=´Tipo=´+QuotedStr(k);
  Tabela.Open;
end;


Acho que não esqueci nada, mas se for o caso é só avisar, pois...

Estamos aí...


GOSTEI 0
Marcelo.c

Marcelo.c

20/08/2003

Desculpe, Allen. Fui interrompido enquando postava e não percebi que você já havia respondido.

Mas está valendo, serve como complemento. :D


GOSTEI 0
POSTAR