Ir para conteúdo
Fórum Script Brasil
  • 0

Campo Hora Acima De 24:00


Jean

Pergunta

Tenho um bd que calcula total de horas trabalhadas, transito e manutenção e eu preciso somar o total de horas Trabalhadas, etc. mas o access só apresenta até 23:59:59 eu precisaria apresentar um numero maior para apresentar o relatório.

Preciso de ajuda bem esclarecida.

jeanportela@hotmail.com

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Jean,

consegui uma função no site da Microsoft, ao qual me parece bastante interessante.

Estou tentando implantar em meu BD, dái não tenho o passo-a-passo para lhe informar.

Caso tal função seja útil e consiga usá-la, por favor me informe.

 Function FormatInterval(ByVal Interval As Variant, Fmt As String)
'
' Formats the difference between two dates or sum of two times
' to show day as well as hours, minutes, and seconds.
'
' Supports the following formats:
'   D H                    5 Days 5 Hours
'   D H:MM                 5 Days 5:15
'   D HH:MM                5 Days 05:15
'   D H:MM:SS              5 Days 5:15:45
'   D HH:MM:SS             5 Days 05:15:45
'   H M                    125 Hours 15 Minutes
'   H:MM                   125:15
'   H:MM:SS                125:15:45
'   M S                    7515 Minutes 45 Seconds
'
Dim Days As Long, Hours As Long, Minutes As Long, Seconds As Long
'
' Check for Date or Double
'
  If VarType(Interval) <> 7 And VarType(Interval) <> 5 Then Exit Function
'
' Parse Days
'
  Days = Int(Interval)
  Interval = Interval - Days
  If Interval > #11:59:59 PM# Then
    Days = Days + 1
    Interval = 0#
  End If
'
' Parse Hours
'
  Interval = Interval * 24
  Hours = Int(Interval)
  Interval = Interval - Hours
  If Interval > 3599# / 3600# Then
    Hours = Hours + 1
    Interval = 0#
  End If
'
' Parse Minutes
'
  Interval = Interval * 60
  Minutes = Int(Interval)
  Interval = Interval - Minutes
  If Interval > 59# / 60# Then
    Minutes = Minutes + 1
    Interval = 0#
  End If
'
' Parse Seconds
'
  Seconds = Int(Interval * 60 + 0.5)
'
' Normalize
'
  If Seconds = 60 Then
    Minutes = Minutes + 1
    Seconds = 0
  End If
  If Minutes > 59 Then
    Hours = Hours + 1
    Minutes = Minutes - 60
  End If
  If Hours > 23 Then
    Days = Days + 1
    Hours = Hours - 24
  End If
'
' Create format
'
  Select Case Fmt
    Case "D H"
      FormatInterval = Days & IIf(Days <> 1, " Days ", " Day ") & Hours & IIf(Hours <> 1, " Hours", " Hour")
    Case "D H:MM"
'      FormatInterval = Days & IIf(Days <> 1, " Days ", " Day ") & Hours & ":" & Format(Minutes, "00")
    Case "D HH:MM"
'      FormatInterval = Days & IIf(Days <> 1, " Days ", " Day ") & Format(Hours, "00") & ":" & Format(Minutes, "00")
    Case "D H:MM:SS"
'      FormatInterval = Days & IIf(Days <> 1, " Days ", " Day ") & Hours & ":" & Format(Minutes, "00") & ":" & Format(Seconds, "00")
    Case "D HH:MM:SS"
'      FormatInterval = Days & IIf(Days <> 1, " Days ", " Day ") & Format(Hours, "00") & ":" & Format(Minutes, "00") & ":" & Format(Seconds, "00")
    Case "H M"
'      Hours = Hours + Days * 24
'      FormatInterval = Hours & IIf(Hours <> 1, " Hours ", " Hour ") & Minutes & IIf(Minutes <> 1, " Minutes", " Minute")
    Case "H:MM"
'      Hours = Hours + Days * 24
'      FormatInterval = Hours & ":" & Format(Minutes, "00")
    Case "H:MM:SS"
      Hours = Hours + Days * 24
      FormatInterval = Hours & ":" & Format(Minutes, "00") & ":" & Format(Seconds, "00")
    Case "M S"
      Minutes = Minutes + (Hours + Days * 24) * 60
      FormatInterval = Minutes & IIf(Minutes <> 1, " Minutes ", " Minute ") & Seconds & IIf(Seconds <> 1, " Seconds", " Second")
    Case Else
      FormatInterval = Null
  End Select
End Function

ohmy.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...