Kinhas 0 Denunciar post Postado Outubro 13, 2011 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". Um colega meu me mandou um código para realizar essa operação, porém não sei onde eu posso utilizar fórmulas no report viewer, Alguém teria uma idéia? Obrigadooo. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Outubro 14, 2011 Cara somar datas ou horas as vezes é meio chato, tente fazer isso via banco de dados. Talvez seja mais fácil. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Outubro 17, 2011 Consegui aqui, Via banco de dados eu já sabia como fazer, é que eu não queria deixar tanto código pra uma coisinha assim, mas deixei assim mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Outubro 18, 2011 Poste a solução ae. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Outubro 28, 2011 Desculpe pela demora, tive outras coisas para acelerar aqui, O que eu fiz foi criar uma variável global int no form que contém o repoertviewer, então peguei a string no formato 00:00:00 e mandei para um método que criei para realizar a soma das horas, segue código: int armz_hora = 0; int armz_minuto = 0; int armz_segundo = 0; private string somaValores(int hora, int minuto, int segundo) { armz_hora = hora + armz_hora; armz_minuto = minuto + armz_minuto; armz_segundo = segundo + armz_segundo; while (armz_segundo > 59) { armz_minuto++; armz_segundo = armz_segundo - 60; } while (armz_minuto > 59) { armz_hora++; armz_minuto = armz_minuto - 60; } if (armz_segundo < 10) { if (armz_minuto < 10) { if (armz_hora < 10) { string total = "0" + armz_hora.ToString() + ":0" + armz_minuto.ToString() + ":0" + armz_segundo.ToString(); return total; } else { string total = armz_hora.ToString() + ":0" + armz_minuto.ToString() + ":0" + armz_segundo.ToString(); return total; } } else { if (armz_hora < 10) { string total = "0" + armz_hora.ToString() + ":" + armz_minuto.ToString() + ":0" + armz_segundo.ToString(); return total; } else { string total = armz_hora.ToString() + ":" + armz_minuto.ToString() + ":0" + armz_segundo.ToString(); return total; } } } else { if (armz_minuto < 10) { if (armz_hora < 10) { string total = "0" + armz_hora.ToString() + ":0" + armz_minuto.ToString() + ":" + armz_segundo.ToString(); return total; } else { string total = armz_hora.ToString() + ":0" + armz_minuto.ToString() + ":" + armz_segundo.ToString(); return total; } } else { if (armz_hora < 10) { string total = "0" + armz_hora.ToString() + ":" + armz_minuto.ToString() + ":" + armz_segundo.ToString(); return total; } else { string total = armz_hora.ToString() + ":" + armz_minuto.ToString() + ":" + armz_segundo.ToString(); return total; } } } //return total; } Como você podem ver eu separo a string antes de mandar para o método, depois disso eu tenho o valor total, ai criei um parâmetro no dataSet no arquivo de report para receber esse valor, Ai adicionei um textbox no relatório que ficou com esse código: =Parameters!tempo_total.Value Compartilhar este post Link para o post Compartilhar em outros sites