1 1 1 1 1 1 1 1 1 1 Rating 2.00 (1 Vote)

Problemstellung:
In MS-Access ist es mit Bordmitteln nicht möglich Zeiten über 24 Stunden zu berechnen
In dieser Bsp-DB möchte ich zeigen wie es trotzdem geht.

Voraussetzungen:
Das Bsp ist ab A2007 lauffähig.

Funktionsweise:
Wenn in MS-Access Zeiten vorliegen und diese sollen addiert werden kommt kein richtiges Ergebnis raus.

Das Ergebnis sollte 43:15 Stunden sein aber da Zeiten über 24 Stunden nicht im Format hh:nn anzeigt
wird nur der Rest vom vielfachen von 24 Stunden angezeigt.

Der Trick zur Berechnung besteht nun darin die Zeiten in Minuten umzurechnen.
Das übernimmt diese Funktion:

Public Function GetMin(vTime As Variant) As Long
' Zeitformat in Minuten umrechnen
    Dim nPos As Long

    vTime = CStr(vTime)
    nPos = InStr(vTime, ":")
    If nPos > 0 Then
        GetMin = Val(Left$(vTime, nPos - 1)) * 60 + Val(Mid$(vTime, nPos + 1))
    Else
        GetMin = Val(vTime)
    End If
End Function

Die Umrechnung der Minuten in das Format hh:nn übernimmt dann diese Funktion:

Public Function CalcTime(lngTime As Long) As String
'Minuten in Zeitformat hh:mm umrechnen
'auch über 24h und auch negative Zeiten
    Dim nMin As Long
    Dim nStd As Long
    
    If lngTime >= 0 Then
        nStd = Int(lngTime / 60)
        nMin = lngTime - (nStd * 60)
        CalcTime = Format$(nStd, "00") & ":" & Format(nMin, "00")
    Else
        lngTime = lngTime * -1
        nStd = Int(lngTime / 60)
        nMin = lngTime - (nStd * 60)
        CalcTime = "-" & Format$(nStd, "00") & ":" & Format(nMin, "00")
    End If
End Function

Das Ganze geht auch mit negativen Zeiten (s.Formular "frm_AZ2")
Hier wird die Differenz von Sollzeit und Istzeit berechnet.
Im Bsp ist die Differenz negativ. Dieser Negativwert lässt sich auch im Format "-hh:nn" anzeigen.

 

 

Dateien:

Berechnen von Zeiten über 24 Stunden

ab A2007

Die Zip-Datei enthält eine Version ab A2007

Datum 17.09.2018
Dateigröße 29.02 KB
Download 611

Ähnliche Artikel

You have no rights to post comments

Login Form

Neueste Artikel

SQL zu VBA Konverter
26. Oktober 2018
Problemstellung: Nur für 32Bit Office Versionen Gibt es eine Möglichkeit SQL-Code einer Abfrage so zu konvertieren das der Code in VBA genutzt werden kann? Lösung: Bis Access 2010 gibt das Tool...
1.png5.png7.png6.png1.png1.png4.png
Heute110
Gestern206
Diese Woche316
Dieser Monat4737
Total1576114

  • IP: 34.230.66.177
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

19. März 2024

Letzte Kommentare

  • Berechnen von Zeiträumen als Abfragekriterium

    elmard 02.02.2021 21:02
    1000 Dank
    für diese Datenbankanwendung! Eine sehr gute Umsetzung mit den vielen Möglichkeiten des Datums.

    Weiterlesen...

     
  • SQL zu VBA Konverter

    Tommy Admin 03.11.2019 16:33
    RE: SQL zu VBA Konverter
    Hallo Elmard, danke für die Info. :lol:

    Weiterlesen...

     
  • SQL zu VBA Konverter

    elmard 03.11.2019 14:49
    Bei SmartTools neue Version 4.0
    Dieses Tool liegt inzwischen in der Version 4 vor und läuft nun auch von A2013 und A2016 sowie im ...

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    TommyK 27.02.2019 06:52
    Workshop
    Hallo mpegjunkie, danke für Dein Feedback. Schön das Dir Workshop weiter hilft. :D

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    mpegjunkie 26.02.2019 20:10
    Perfekter Workshop
    Hallo Tommy, perfekter Workshop, toll und umfassend erläutert. Jetzt nutze ich diese Controls auch.

    Weiterlesen...