dicas show delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais
sombra
Artigos Show Delphi

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais
sombra
iniciantes show delphi

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais
sombra
downloads show delphi

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
sombra
voltar

PARA QUEM GOSTA DE DELPHI

Filtro por Datas no ClientDataSet

Olá pessoal!

Esta dica é bem simples, mas para quem não esta habituado a utilizar a propriedade
Filter de DataSet pode causar alguns problemas.

O uso é bem fácil, veja o exemplo:

1
2
3
4
ClientDataSet1.Filter := 
  'DATA >= ' + FormatDateTime('dd/mm/yyyy', DateTimePicker1.DateTime) +
  'AND DATA <= ' + FormatDateTime('dd/mm/yyyy', DateTimePicker2.DateTime);
ClientDataSet1.Filtered := True;

O segredo aqui é a formatação da data, que deverá ser dd/mm/yyyy,
assim o filtro irá funcionar normalmente.

inclusive pode ser adicionados outros filtros juntamente com o filtro
da data. Para mais detalhes veja: showdelphi.com.br/filtros-de-dados-sem-o-uso-de-sql-delphi/

Outra dica importante é que a Propriedade Filter por ser utilizada em Qualquer
DataSet.

Exemplos:
ClientDataSet
FDMemTable
ZQuery
e etc

  • InfusTec
  • 2 comentários
  • 18 de maio de 2016

2 respostas para “Filtro por Datas no ClientDataSet”

  1. Acé Neves Gonçalves disse:

    Não fuincionou o filtro por data. Aparece a seguinte mensagem;

    —————————
    Debugger Exception Notification
    —————————
    Project Master.exe raised exception class EDBClient with message ‘Type mismatch in expression.’. Process stopped. Use Step or Run to continue.
    —————————
    OK Help
    —————————

  2. Iverson Farias disse:

    1) Precisa colocar a data entre aspas (QuotedStr);
    2) É melhor usar DateToStr() para evitar problemas com idioma e formato de data;
    3) Pode ser necessário remover horários da data (usamos DateOf);

    var
    sDataIni, sDataFim: string;
    begin
    sDataIni := QuotedStr(DateToStr(DateOf(DateTimePicker1.DateTime)));

    sDataFim := QuotedStr(DateToStr(DateOf(DateTimePicker2.DateTime)));

    cds.Filter := ‘DATA >= ‘ + sDataIni + ‘ AND DATA <= ' sDataFim;
    cds.Filtered := True;
    end;

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados