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

Filtro para relatório usado datas


Recife

Pergunta

Boa Noite, Estou precisando de ajuda para concluir um relatório em que existe um filtro para pesquisar os funcionários com data nascimento inicial(Dia/Mes) e data nascimento final(Dia/Mes). Abaixo demonstro o código, porém não esta funcionando.

Pois se fizer 01/10(inicio) e 30/10(fim) não retornar nada. Se for 01/10(inicio) e 01/10(fim) traz o registro neste intervalo.

Estou usando Delphi 6 e Firebird 2.0 .

var
   sDiaIni, sMesIni, sDiaFim, sMesfim: string;
   
   sDiaIni := copy(maskeditIni.text,1,2);
   sMesIni := copy(maskeditIni.text,4,2);
   sDiaFim := copy(maskeditFim.text,1,2);
   sMesFim := copy(maskeditFim.text,4,2);
   
   whit QryFuncionario do
   Begin
       close;
       sql.clear;
       sql.text := 'select * from tbfuncionarios '+
                       'where extract(day from dtnasfun)=:diaini '+
                       'and extract(month from dtnasfun)=:mesini '+
                       'and extract(day from dtnasfun)=:diafim '+
                       'and extract(month from dtnasfun)=:mesfim';
       open;
       if qryfuncionario.isempty then
       begin
           showmessagem('Não existe dados para esta pesquisa.');
           maskeditini.setfocus;
           exit;   
       end
       else
       begin
           frmrelanivfunc := tfrmrelanivfunc.create(application);
           try
              frmrelanivfunc.quickreport1.preview;
           finally
              freeandnill(frmrelanivfunc);
           end; 
       end;
                       
   end;

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

1 resposta a esta questão

Posts Recomendados

  • 0
Boa Noite, Estou precisando de ajuda para concluir um relatório em que existe um filtro para pesquisar os funcionários com data nascimento inicial(Dia/Mes) e data nascimento final(Dia/Mes). Abaixo demonstro o código, porém não esta funcionando.

Pois se fizer 01/10(inicio) e 30/10(fim) não retornar nada. Se for 01/10(inicio) e 01/10(fim) traz o registro neste intervalo.

Estou usando Delphi 6 e Firebird 2.0 .

var
   sDiaIni, sMesIni, sDiaFim, sMesfim: string;
   
   sDiaIni := copy(maskeditIni.text,1,2);
   sMesIni := copy(maskeditIni.text,4,2);
   sDiaFim := copy(maskeditFim.text,1,2);
   sMesFim := copy(maskeditFim.text,4,2);
   
   whit QryFuncionario do
   Begin
       close;
       sql.clear;
       sql.text := 'select * from tbfuncionarios '+
                       'where extract(day from dtnasfun)=:diaini '+
                       'and extract(month from dtnasfun)=:mesini '+
                       'and extract(day from dtnasfun)=:diafim '+
                       'and extract(month from dtnasfun)=:mesfim';
       open;
       if qryfuncionario.isempty then
       begin
           showmessagem('Não existe dados para esta pesquisa.');
           maskeditini.setfocus;
           exit;   
       end
       else
       begin
           frmrelanivfunc := tfrmrelanivfunc.create(application);
           try
              frmrelanivfunc.quickreport1.preview;
           finally
              freeandnill(frmrelanivfunc);
           end; 
       end;
                       
   end;
Conseguir obter a resposta para o sql acima, para quem possa interessar a forma correta seriá a seguinte:
sql.text := 'select * from tbfuncionarios '+
           'where extract(day from dtnasfun)>=:diaini '+
           'and extract(month from dtnasfun)>=:mesini '+
           'and extract(day from dtnasfun)<=:diafim '+
           'and extract(month from dtnasfun)<=:mesfim';

com isto dou o probelma com resolvido.

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...