Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

almouta

Soma de horas não cabe na variável!

Recommended Posts

Olá a todos!

 

Estou desenvolvendo uma folha de pontos em ASP usando VBScript.

 

Obtenho as horas trabalhadas de cada dia fazendo a seguinte conta:

 

H = (HA - HE) + (HS - HR)

 

onde

H = horas trabalhadas no dia

HA = hora de almoço

HE = hora de entrada

HS = hora de saída

HR = hora de retorno do almoço.

 

Eu converto o resultado para data (CDate) e somo tudo em uma outra variável(HH):

 

HH = HH + CDate(H)

 

Até aí tudo bem! Eu consigo fazer os cálculos direitinho. O problema é que em 1mês, um funcionário trabalha em torno de 160horas, mas o minha variável final (HH) só aparecem 24h ou menos, porque converti para Date antes de somar. acredito eu.

 

Assim, meus amigos, a pergunta é: como devo armazenar os valores para conseguir a soma verdadeira. Qual deve ser o tipo de variável ou o q tenho q fazer para conseguir isso:

 

 

Por exemplo, se considerássemos 4dias de trabalho, entre os dias 13 a 16, teríamos um total de 32horas trabalhadas:

 

DIA HE HA HR HS H

13 08:00 12:00 13:00 17:00 08:00

14 08:00 12:00 13:00 17:00 08:00

15 08:00 12:00 13:00 17:00 08:00

16 08:00 12:00 13:00 17:00 08:00

 

mais o meu código só mostra um valor menor como "20h" ou "16h"..

 

 

O que fazer??

 

Obrigado!

 

 

 

 

CÓDIGOS:

 

*SOMA:

 

<%parcialhh=FormatDateTime((CDate(rsFolhaPonto("ha"+Cstr(dias))) - CDate(rsFolhaPonto("he"+Cstr(dias)))) + (CDate(rsFolhaPonto("hs"+Cstr(dias))) - CDate(rsFolhaPonto("hr"+Cstr(dias)))),4)%><%=parcialhh%><%thh=thh+CDate(parcialhh)%>

onde "dias" varia de 1 a 31.

 

*EXIBIÇÃO DA SOMA:

 

<%=FormatDateTime(thh,4)%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilize datediff para fazer o calculo, acho que isso resolve teu problema

 

Obrigado por responder, jonathandj, mas o problema n é a diferença entre hrs e sim, em que tipo de variável eu vou armazenar.

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.