Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Filtro por período


MagoDanger

Pergunta

pessoal, boa tarde!

estou com um probleminha aqui que eu não sei como faz!

tenho varios valores lançados para pagamentos e estou fazendo um filtro.

pgtos.JPG

Gostaria de quando clicar no [] Mês Atual, fosse exibido todos os lançamentos para o mês atual, ou seja, ele filtrar automaticamente de 01/03/2011 até 31/03/2011.

Como posso fazer isso?

Meu BD é ACCESS e esse campo esta como DATA no BD.

** Para filtrar todos os lançamentos desse cliente, usei:

dm.q_pag_inq.close;
dm.q_pag_inq.SQL.clear;
dm.q_pag_inq.SQL.add('select * from tbl_pag_inq where id_inq like '''+ Edt_inq.Text + '%'' order by vencimento asc'); //esse Edt_inq filtra os dados da tabela só para os que são referente a ID desse cliente.
dm.q_pag_inq.Prepared;
dm.q_pag_inq.open;

Obrigado!

Editado por MagoDanger
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
eu queria que ao clicar em "Mês atual", automaticamente o filtro fosse feito dentro do mes... tem como fazer isso!?

exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  Present: TDateTime; dataini, datafim : Tdate;
  Ano, Mes, Dia : Word;
begin
  Present:= Now;
  DecodeDate(Present, Ano, Mes, Dia);
  dataini := strtodate('01'+'/'+inttostr(Mes)+'/'+inttostr(Ano));
  datafim := Now;
  showmessage('Período selecionado: ' + datetostr(dataini) + ' a ' + datetostr(datafim));
end;

É só adaptar ao seu código

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

olá amigo!

obrigado pela ajuda!

para mostrar do dia 01 até o último dia do mês, fiz uma pequena alteração ficando assim:

var
  Present: TDateTime; dataini, datafim : Tdate;
  Ano, Mes, Dia : Word;
begin
  Present:= EndOfTheMonth(Date);
  DecodeDate(Present, Ano, Mes, Dia);
  dataini := strtodate('01'+'/'+inttostr(Mes)+'/'+inttostr(Ano));
  datafim := EndOfTheMonth(Date);
  showmessage('Período selecionado: ' + datetostr(dataini) + ' a ' + datetostr(datafim));
end;

Agora como eu faço por exemplo para o resultado dataini e do datafim aparecerem em um DateEdit ?

Obrigado

Editado por MagoDanger
Link para o comentário
Compartilhar em outros sites

  • 0
Agora como eu faço por exemplo para o resultado dataini e do datafim aparecerem em um DateEdit ?

var
  Present: TDateTime; dataini, datafim : Tdate;
  Ano, Mes, Dia : Word;
begin
  Present:= EndOfTheMonth(Date);
  DecodeDate(Present, Ano, Mes, Dia);
  dataini := strtodate('01'+'/'+inttostr(Mes)+'/'+inttostr(Ano));
  datafim := EndOfTheMonth(Date);
  showmessage('Período selecionado: ' + datetostr(dataini) + ' a ' + datetostr(datafim));

  DateEdit1.Date := dataini;
  DateEdit2.Date := datafim;
end;
ou
var
  Present: TDateTime; dataini, datafim : Tdate;
  Ano, Mes, Dia : Word;
begin
  Present:= EndOfTheMonth(Date);
  DecodeDate(Present, Ano, Mes, Dia);
  dataini := StartOfTheMonth(Date);
  datafim := EndOfTheMonth(Date);
  showmessage('Período selecionado: ' + datetostr(dataini) + ' a ' + datetostr(datafim));

  DateEdit1.Date := dataini;
  DateEdit2.Date := datafim;
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

opa, agora fiz o filtro, ficou assim:

var
  Present: TDateTime; dataini, datafim : Tdate;
  Ano, Mes, Dia : Word;
begin
  Present:= EndOfTheMonth(Date);
  DecodeDate(Present, Ano, Mes, Dia);
  dataini := StartOfTheMonth(Date);
  datafim := EndOfTheMonth(Date);
  DateEdit1.Date := dataini;
  DateEdit2.Date := datafim;
begin
with dm.q_pag_inq do
begin
 Close;
 SQL.Clear;
 SQL.Add('select * from tbl_pag_inq where vencimento Between :dataini and :datafim');
 SQL.Add('AND id_inq = ' + QuotedStr(Edt_inq.Text));
 SQL.Add('AND baixados = ' + QuotedStr(edt_baixa.Text));
 Parameters.ParamByName('dataini').Value := DateEdit1.date;
 Parameters.ParamByName('datafim').Value := DateEdit2.date;
 Open;
end; end; end;

Era exatamente o que eu precisava!

valeu pela ajuda!!!!!

Editado por MagoDanger
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...