none
Relatório - Calculo entre datas como faço? RRS feed

  • Pergunta

  •  

    Pessoal estou montando um relatorio no crystal que tem duas datas

    DATAINICIO      DATAFIM

    com faço ou qual a lógica para que eu tenha este resultado em dias,horas,minutos

    exemplo:

     

    DATAINICIO             DATAFIM                RESULTADO

    01/01/09 10:00         03/01/09 11:30          2  1:30   (Dois dias, uma hora e trinta minutos)

     

    que funcao de data eu posso usar para ter este resultado, ou terei que fazer manual pegar o resultado em minutos e ir dividindo, pegar resultado da divisao, etc.

    Eu creio que ha uma funcao que ja faca isso.

     

    Obrigado!!

    davistome@gmail.com

    quinta-feira, 15 de janeiro de 2009 10:16

Respostas

  • Davis,

     

    Neste caso, a solução mais fácil e criar um função em .NET (VB.NET ou C#) para calcular o resultado entre as datas e depois passar o resultado para o Crystal Reports como Resultado (através de um parâmetro).

     

    Para fazer o cálculo em VB.NET

     

    Code Snippet

    Dim dataInicio As DateTime = CDate("15/01/2008 09:35")

    Dim dataFim As DateTime = CDate("15/01/2008 12:15")

     

    Dim reFinal As TimeSpan

    Dim dataComparacao As TimeSpan = New TimeSpan(24, 0, 0)

     

    If (dataInicio.Hour > dataFim.Hour) Then

    dataFim = dataFim.Add(dataComparacao)

    reFinal = (dataFim - dataInicio)

    Else

    reFinal = (dataFim - dataInicio)

    End If

     

    MsgBox(reFinal.ToString)

     

     

    Para criar e passar um parâmetro no Crystal Reports veja os meus vídeos a construção de relatórios ou pelos diversos links existentes no próprio fórum MSDN.

     

    Code Snippet

    'definindo o DataSource do relatório

    crReportDocument.SetDataSource(oTable)

     

    crReportDocument.SetParameterValue("NOME_DO_PARAMETRO", "MSDN Brasil")

     

     

    Detalhe importante: Para funcionar corretamente os parametros devem ser informados após definir o DataSource do Relatório.

     

     

     

    Criei um tópico fixo no fórum MSDN com algumas dicas  sobre a construção de relatórios com Crystal Reports e ReportView (incluindo 2 vídeos com vários exemplos de como construir relatórios com os componentes, licença, distribuição, service packs, etc.):

     

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=3761576&SiteID=21

     

     

    quinta-feira, 15 de janeiro de 2009 13:08
    Moderador

Todas as Respostas

  • ola

    alguns exemplos de formatação de data...

    http://www.west-wind.com/WebLog/posts/158915.aspx
    quinta-feira, 15 de janeiro de 2009 11:15
  • Davis,

     

    Neste caso, a solução mais fácil e criar um função em .NET (VB.NET ou C#) para calcular o resultado entre as datas e depois passar o resultado para o Crystal Reports como Resultado (através de um parâmetro).

     

    Para fazer o cálculo em VB.NET

     

    Code Snippet

    Dim dataInicio As DateTime = CDate("15/01/2008 09:35")

    Dim dataFim As DateTime = CDate("15/01/2008 12:15")

     

    Dim reFinal As TimeSpan

    Dim dataComparacao As TimeSpan = New TimeSpan(24, 0, 0)

     

    If (dataInicio.Hour > dataFim.Hour) Then

    dataFim = dataFim.Add(dataComparacao)

    reFinal = (dataFim - dataInicio)

    Else

    reFinal = (dataFim - dataInicio)

    End If

     

    MsgBox(reFinal.ToString)

     

     

    Para criar e passar um parâmetro no Crystal Reports veja os meus vídeos a construção de relatórios ou pelos diversos links existentes no próprio fórum MSDN.

     

    Code Snippet

    'definindo o DataSource do relatório

    crReportDocument.SetDataSource(oTable)

     

    crReportDocument.SetParameterValue("NOME_DO_PARAMETRO", "MSDN Brasil")

     

     

    Detalhe importante: Para funcionar corretamente os parametros devem ser informados após definir o DataSource do Relatório.

     

     

     

    Criei um tópico fixo no fórum MSDN com algumas dicas  sobre a construção de relatórios com Crystal Reports e ReportView (incluindo 2 vídeos com vários exemplos de como construir relatórios com os componentes, licença, distribuição, service packs, etc.):

     

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=3761576&SiteID=21

     

     

    quinta-feira, 15 de janeiro de 2009 13:08
    Moderador