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

Report Viewer - Somar coluna (00:00:00)


Lucas Conceição

Pergunta

Bom dia pessoal,

estou criando relatórios e agora eu preciso somar o tempo total gasto,

Porém na minha coluna os valores aparecem assim por exemplo (hh:mm:ss): 10:32:44 ou seja 10 horas, 32 minutos e 44 segundos.

ai se eu tenho por exemplo 3 linhas:

00:23:00

00:15:00

01:20:00

Preciso que some esses valores e mostro no final: 01:58:00

Alguém sabe me ajudar?

Já tentei utilizar o SUM, porém quando eu executo o programa, onde deveria aparecer o total aparece "#Error".

Obrigadoooo.

Editado por Lucas Conceição
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Lucas, você deve criar uma fórmula (vamos chamá-la de @SomaHoras), que recebe as horas e irá convertê-las em segundos. Você pode fazer desta forma:

//Fórmula @SomaHoras
local stringvar array HoraCompleta;
local numbervar  TotalSegundos;

HoraCompleta := split({@seuCampoHora},":");

//Converte a hora [1] e minutos [2] em segundos e soma com os segundos [3]
TotalSegundos:= (3600 * cdbl(HoraCompleta[1])) + (60 * cdbl(HoraCompleta[2])) + (cdbl(HoraCompleta[3]));
Depois de somar todas essas horas, convertidas em segundos, você converte novamente em horas:
//Fórmula que irá exibir no relatório
      Replace(CStr(Floor(Sum ({@SomaHoras}) / 3600)),       ".00","")
+ ":" + Replace(CStr(Floor((Sum ({@SomaHoras}) Mod 3600)/60)), ".00","")
+ ":" + Replace(CStr(Floor(Sum ({@SomaHoras}) Mod 60)),      ".00","")

Link para o comentário
Compartilhar em outros sites

  • 0

Xistyle n funcionou não,

Criei um textbox e

fui la em Expression ai coloquei assim

=Replace(CStr(Floor(Sum ({TotalSegundos}) / 3600)),       ".00","")
+ ":" + Replace(CStr(Floor((Sum ({TotalSegundos}) Mod 3600)/60)), ".00","")
+ ":" + Replace(CStr(Floor(Sum ({TotalSegundos}) Mod 60)),      ".00","")

Porém ele não reconhece esse "TotalSegundos".

Link para o comentário
Compartilhar em outros sites

  • 0

Então, não sei como funciona no Report Viewer. No Crystal, você cria objetos chamados Formulas. Nestes, você coloca qualquer informação que quiser, desde apenas um campo até um cálculo, uma condição...

Se você conseguir, dentro dessa opção Expression declarar variáveis, faça com o código todo:

local stringvar array HoraCompleta;
local numbervar  TotalSegundos;

HoraCompleta := split({@seuCampoHora},":");

//Converte a hora [1] e minutos [2] em segundos e soma com os segundos [3]
TotalSegundos:= (3600 * cdbl(HoraCompleta[1])) + (60 * cdbl(HoraCompleta[2])) + (cdbl(HoraCompleta[3]));

=Replace(CStr(Floor(Sum ({TotalSegundos}) / 3600)),       ".00","")
+ ":" + Replace(CStr(Floor((Sum ({TotalSegundos}) Mod 3600)/60)), ".00","")
+ ":" + Replace(CStr(Floor(Sum ({TotalSegundos}) Mod 60)),      ".00","")

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
      652k
×
×
  • Criar Novo...