Complementando, filter é coisa do tempo do TTable, tente assim:

with dm.alunos do begin
 Close;
 SQL.Clear;
 SQL.Add( ' Select distinct on (alunos.aluno_codigo ) alunos.aluno_codigo, *
from alunos ' );
 SQL.Add( '  inner join contas_receber ' );
 SQL.Add( '    on alunos.aluno_codigo=contas_receber.aluno_codigo ' );
 SQL.Add( ' where contas_receber.receber_data_vencimento <= :Dt_Vencimento '
);
  SQL.Add( ' and contas_receber.receber_pago = FALSE  ' );
  ParamByName( 'Dt_Vencimento' ).AsDateTime := (date - 5);
  Open;
end;

with dm.mensa do begin
 Close;
 SQL.Clear;
 SQL.Add( 'Select * from Tabela' )
 SQL.Add( 'Where  receber_pago = FALSE and receber_data_vencimento <=
:Dt_Venc ' );
 ParamByName( 'Dt_Vencimento' ).AsDateTime := (date - 5);
 Open;
end;

vc vai ver que vai ficar muito + rápido, lembrando que é só um exemplo, não
conheço o seu sistema e nem o PostGree

Em 26/01/08, edersonecris <[EMAIL PROTECTED]> escreveu:
>
>   Mas e com o filter como eu faço?
>
> Eduardo Silva dos Santos escreveu:
> >
> > Se vc usar parâmetros no Seu SQL o zeos já converte o formato da Data..
> > fica muito mais simples.
> >
> > Em 25/01/08, edersonecris <[EMAIL PROTECTED]<edersonecris%40gmail.com>
> > <mailto:edersonecris%40gmail.com>> escreveu:
> > >
> > > Aos colegas da lista que me ajudaram, agradeço muito.
> > > Estava com problemas no filtros e nos sqls para filtrar datas do
> > > postgres devido ao formato de armazenamento do mesmo.
> > > Depois de vários colegas enviarem a sua opnião, consegui chegar a uma
> > > solução simples graças a ajuda de vocês.
> > > Como o Zeos tem um bug tive que fazer do seguinte modo:
> > >
> > > dm.alunos.sql.Clear;
> > > dm.alunos.SQL.Text:='select distinct on
> > > (alunos.aluno_codigo)alunos.aluno_codigo, * from alunos '+
> > > 'inner join contas_receber '+
> > > 'on alunos.aluno_codigo=contas_receber.aluno_codigo '+
> > > 'where contas_receber.receber_data_vencimento <= '
> > > + quotedstr(formatdatetime('yyyy/MM/dd',date - 5))+
> > > ' and contas_receber.receber_pago = FALSE';
> > > dm.alunos.Open;
> > >
> > > dm.mensa.Filter:= 'receber_pago = FALSE and receber_data_vencimento <=
> > > ' + quotedstr(formatdatetime('yyyy/MM/dd',date - 5));
> > > dm.mensa.Filtered:=true;
> > >
> > > Problema resolvido, desse jeito eu posso continuar a usar o formato de
> > > datas como YMD que é o recomendado e no meu sistema ele aparece como
> DMY
> > > tranquilo.
> > > Vlw pessoal!!!
> > >
> > > --
> > > Éderson Cassiano Bologna
> > > [EMAIL PROTECTED] <edersoncassiano%40terra.com.br> <mailto:
> edersoncassiano%40terra.com.br>
> > <edersoncassiano%40terra.com.br>
> > > sKYPE: edersoncassiano
> > > MSN: [EMAIL PROTECTED] <edersoncassiano%40hotmail.com>
> > <mailto:edersoncassiano%40hotmail.com> <edersoncassiano%40hotmail.com>
> > > www.microtechshop.com
> > >
> > >
> > >
> >
> > --
> > .......................................................
> > Eduardo Silva dos Santos
> > DRD Sistemas.
> > (27) 3218-4201
> > MSN: [EMAIL PROTECTED] <eduardo.drd%40gmail.com> <mailto:
> eduardo.drd%40gmail.com>
> > Site: http://www.drdsistemas.com/ <http://www.drdsistemas.com/>
> > .......................................................
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
>
> --
> Éderson Cassiano Bologna
> [EMAIL PROTECTED] <edersoncassiano%40terra.com.br>
> sKYPE: edersoncassiano
> MSN: [EMAIL PROTECTED] <edersoncassiano%40hotmail.com>
> www.microtechshop.com
>
>  
>



-- 
.......................................................
Eduardo Silva dos Santos
DRD Sistemas.
(27) 3218-4201
MSN: [EMAIL PROTECTED]
Site: http://www.drdsistemas.com/
.......................................................


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

Responder a