Usuário com melhor resposta
Soma de Data e Horas apos na Madrugada, ao virar o dia VB6

Pergunta
-
Ola Amigos tenho dois campos que somam as horas e e dá o valor centesimal
8 Horas Trabalhadas
Pra isso utilizou o seguinte codigo
Dim Periodo As Variant
Periodo = Format((TimeValue(MaskEdBox1.Text) - TimeValue(MaskEdBox2.Text)), "hh:mm")
Periodo = Hour(Periodo) + Minute(Periodo) / 60
Text1.Text = Format(Periodo, "0.00")
Só que gostaria de Saber como faço pra fazer esse tipo de calculo.
O Colaborador entra as 19/09/2012 as 22:00 e Sai as 20/09/2012 as 06:00 que dá 8 Horas Trabalhadas
No programa ele me dá o seguinte resultado
- Movido AndreAlvesLimaModerator sexta-feira, 21 de setembro de 2012 10:49 (De:Visual Studio - Geral)
Respostas
-
Moises, Bom dia
Cara, não tenho conhecimento em VB6 para poder te auxiliar no codigo.
Eu tenho um exemplo pronto só que em C#
TimeSpan horaInicio = new TimeSpan(22, 0, 0); TimeSpan horaFinal = new TimeSpan(6, 0, 0); if (horaFinal < horaInicio) horaFinal = new TimeSpan(6 + 24, 0, 0); TimeSpan resultado = horaFinal.Subtract(horaInicio);
Agora em VB6, não sei fazer e nem tenho como testar aquiBruno Viegas D. Ribeiro
Nunca abandone sua thread!
- Se alguma resposta resolveu seu problema marque-a como resposta para que possa ajudar outras pessoas.
- Se a resposta não resolveu, mas ajudou a você chegar a sua resposta Marque-a como útil.- Sugerido como Resposta Harley AraujoModerator segunda-feira, 24 de setembro de 2012 12:30
- Marcado como Resposta Harley AraujoModerator quinta-feira, 4 de outubro de 2012 12:19
Todas as Respostas
-
Moisés
Tente acrescentar 24horas, sempre que o segundo valor for menor que o primeiro
Bruno Viegas D. Ribeiro
Nunca abandone sua thread!
- Se alguma resposta resolveu seu problema marque-a como resposta para que possa ajudar outras pessoas.
- Se a resposta não resolveu, mas ajudou a você chegar a sua resposta Marque-a como útil. -
Bruno tentei fazer mais ou menos assim
Dim Periodo As Variant
Dim txt2 As Variant 'criei uma variavel para somar mais 24 horas para somar
txt2 = Format((TimeValue(MaskEdBox2.Text) + TimeValue("24:00")), "hh:mm")
Periodo = Format((TimeValue(MaskEdBox1.Text) - TimeValue(txt2)), "hh:mm")
Periodo = Hour(Periodo) + Minute(Periodo) / 60
Text1.Text = Format(Periodo, "0.00")
Text2.Text = (Periodo) * 60O Resulta me aparece zerado, tambem tentei assim
Periodo = Format((TimeValue(MaskEdBox1.Text) - TimeValue(MaskEdBox2.Text + ("24:00"))), "hh:mm")
Periodo = Hour(Periodo) + Minute(Periodo) / 60
Text1.Text = Format(Periodo, "0.00")
Text2.Text = (Periodo) * 60No excell Bruno ele Funciona assim
-
Olá,
Estou movendo este post para a categoria de VB...
Por favor, das próximas vezes que tiver alguma dúvida relacionada a esse assunto, poste por lá...
Obrigado...André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
Moises, Bom dia
Cara, não tenho conhecimento em VB6 para poder te auxiliar no codigo.
Eu tenho um exemplo pronto só que em C#
TimeSpan horaInicio = new TimeSpan(22, 0, 0); TimeSpan horaFinal = new TimeSpan(6, 0, 0); if (horaFinal < horaInicio) horaFinal = new TimeSpan(6 + 24, 0, 0); TimeSpan resultado = horaFinal.Subtract(horaInicio);
Agora em VB6, não sei fazer e nem tenho como testar aquiBruno Viegas D. Ribeiro
Nunca abandone sua thread!
- Se alguma resposta resolveu seu problema marque-a como resposta para que possa ajudar outras pessoas.
- Se a resposta não resolveu, mas ajudou a você chegar a sua resposta Marque-a como útil.- Sugerido como Resposta Harley AraujoModerator segunda-feira, 24 de setembro de 2012 12:30
- Marcado como Resposta Harley AraujoModerator quinta-feira, 4 de outubro de 2012 12:19