ALGUÉM PODE MELHORAR ESTE CÓDIGO.

FOXMAN 02/02/2017 22:57:04
#471299
Resposta escolhida
Correto seria vc trazer esse calculo diretamente do banco de dados. Desde que as colunas estejam devidamente no formato correto.
Um dos maiores erros em cálculos de horas é exatamente o tipo de dados.

Tenho que fazer esse tipo de calculo também, porém eu utilizo o calculo diretamente no banco.

segue exemplo para mysql :

SET Hora = (select SEC_TO_TIME( SUM(TIME_TO_SEC(TIMEDIFF(t.Saida1 , t.Entrada1) ) + TIME_TO_SEC(TIMEDIFF(t.Saida2 , t.Entrada2) ) + TIME_TO_SEC(TIMEDIFF(t.Saida3 , t.Entrada3) ) )) 
from tblregistrodeponto t where t.Matricula = Matricula and t.Dia = cloop and month(t.DataRegistro) = Mes and year(t.DataRegistro) = iAno);


Isso me retorna o acumulado de horas extras no mês.
O calculo é com base na coluna BH.


OMAR2011 03/02/2017 10:37:58
#471305
PLUGSOFTSM, soma não condiz com total da coluna.
KERPLUNK, codigó C#.Converti e modifiquei.Soma mas resultado ficou acima como o meu postado.
FOXMAN, O seu com Mysql foi tiro e queda.Resultado obtido.
Vou esperar mais um pouco, de como fazer com o Datagridview.
JABA 03/02/2017 15:07:46
#471323
Como o valor está vindo no campo Hora? é só ajustar conforme abaixo:

dim hora as TimeSpan 

For Each Linha As DataGridViewRow In Me.DataGridView1.Rows
hora = hora + timespan.Parse(Linha.Cells([Ô]Hora[Ô]).Value [txt-color=#e80000]& [Ô]:00[Ô][/txt-color])
Next

MsgBox hora
OMAR2011 03/02/2017 16:16:33
#471331
Mesmo assim Jaba ocorre erro.
Ele; [txt-color=#e80000]seqüência de entrada não estava em um formato incorreto[/txt-color]
JABA 03/02/2017 16:27:56
#471333
Como os dados estão vindo no campo Hora?
OMAR2011 03/02/2017 16:55:47
#471336
HH:mm:ss
Tipo.
08:54:12
JABA 03/02/2017 17:15:04
#471341
Então deveria ter funcionado com o primeiro exemplo que te passei. Certamente algum campo está vindo com o formato errado, como vazio ou nulo por exemplo, aí deve tá dando erro nele. Se for esse o caso, é só formatar o campo vazio ou nulo para [Ô]00:00:00[Ô]. Veja isso!
OMAR2011 04/02/2017 09:50:41
#471369
Abri um console aplication e colei o código e deu resultado.
00:05:00
JABA 04/02/2017 12:46:04
#471374
Citação:

Abri um console aplication e colei o código e deu resultado.
00:05:00



Sim, a intenção era apenas mostrar que o código funciona. Nesse código há um loop de 1 a 5 e está somando a hora de 1 em 1 minuto. O resultado deveria ser [Ô]00:05:00[Ô] mesmo. Agora é só adaptar aí no seu código.
OMAR2011 04/03/2017 21:00:33
#472154
Consegui resolver com post anterior do KERPLUNK e MARCELO TREZE.
Fiz o teste com dados do COQUITO e resultado exato.
No mais agradecido ao JABA,FOXMAN,KERPLUNK e MARCELO TREZE.
Página 2 de 2 [20 registro(s)]
Tópico encerrado , respostas não são mais permitidas