FUNCAO P/ CALCULO DE HORAS
Bom dia a todos,
Caros Colegas, estou com problemas em cálculos com horas, a seguinte função funciona muito bem no Access.
Function TypeHora(ValorEmHoras As Double) As String
Dim SomenteHoras, SomenteMinutos, ConvSomenteMinutos As Long
Dim Sinal As String 'Declara as variáveis da função
If ValorEmHoras < 0 Then 'Verifica se o valor de horas é negativo e se for define o sinal de negativo
Sinal = "-"
ValorEmHoras = ValorEmHoras * -1
Else
Sinal = ""
End If
SomenteHoras = Int(ValorEmHoras) 'Converte o valor com vÃrgula somente para sem vÃrgula sem arredondar
SomenteMinutos = ValorEmHoras - SomenteHoras 'Extrai o valor fracionário de horas incompletas (minutos)
ConvSomenteMinutos = SomenteMinutos * 60 'Converte o valor frácionário em escrito para minutos
If SomenteHoras < 10 And ConvSomenteMinutos < 10 Then
TypeHora = Sinal & "0" & SomenteHoras & ":" & "0" & ConvSomenteMinutos
ElseIf SomenteHoras < 10 And ConvSomenteMinutos >= 10 Then
TypeHora = Sinal & "0" & SomenteHoras & ":" & ConvSomenteMinutos
ElseIf SomenteHoras >= 10 And ConvSomenteMinutos >= 10 Then
TypeHora = Sinal & SomenteHoras & ":" & ConvSomenteMinutos
ElseIf SomenteHoras >= 10 And ConvSomenteMinutos < 10 Then
TypeHora = Sinal & SomenteHoras & ":" & "0" & ConvSomenteMinutos
End If 'Escreve as horas com valor superior a 24 em formato hh:mm
End Function
Esta função VB do Access funciona muito bem, mas no VB6 (GAS) apenas está calculando as horas, os minutos não funciona da forma que deveria funcionar.
Com esta função o Access soma, multiplica, subtrai......
Alguem pode me ajudar?
Caros Colegas, estou com problemas em cálculos com horas, a seguinte função funciona muito bem no Access.
Function TypeHora(ValorEmHoras As Double) As String
Dim SomenteHoras, SomenteMinutos, ConvSomenteMinutos As Long
Dim Sinal As String 'Declara as variáveis da função
If ValorEmHoras < 0 Then 'Verifica se o valor de horas é negativo e se for define o sinal de negativo
Sinal = "-"
ValorEmHoras = ValorEmHoras * -1
Else
Sinal = ""
End If
SomenteHoras = Int(ValorEmHoras) 'Converte o valor com vÃrgula somente para sem vÃrgula sem arredondar
SomenteMinutos = ValorEmHoras - SomenteHoras 'Extrai o valor fracionário de horas incompletas (minutos)
ConvSomenteMinutos = SomenteMinutos * 60 'Converte o valor frácionário em escrito para minutos
If SomenteHoras < 10 And ConvSomenteMinutos < 10 Then
TypeHora = Sinal & "0" & SomenteHoras & ":" & "0" & ConvSomenteMinutos
ElseIf SomenteHoras < 10 And ConvSomenteMinutos >= 10 Then
TypeHora = Sinal & "0" & SomenteHoras & ":" & ConvSomenteMinutos
ElseIf SomenteHoras >= 10 And ConvSomenteMinutos >= 10 Then
TypeHora = Sinal & SomenteHoras & ":" & ConvSomenteMinutos
ElseIf SomenteHoras >= 10 And ConvSomenteMinutos < 10 Then
TypeHora = Sinal & SomenteHoras & ":" & "0" & ConvSomenteMinutos
End If 'Escreve as horas com valor superior a 24 em formato hh:mm
End Function
Esta função VB do Access funciona muito bem, mas no VB6 (GAS) apenas está calculando as horas, os minutos não funciona da forma que deveria funcionar.
Com esta função o Access soma, multiplica, subtrai......
Alguem pode me ajudar?
No site tem varios exemplos de calculos de horas
Um exemplo:
http://www.vbmania.com.br/vbmdetail.php?varID=1033
Um exemplo:
http://www.vbmania.com.br/vbmdetail.php?varID=1033
Tópico encerrado , respostas não são mais permitidas