Feld mit Zeitformat gruppieren/aufsummieren

auf meinem pc läuft winxp mit office xp. habe in access eine tabelle, die im zeitformat hh:mm:ss enthält. bekomme monatliche datensätze mit zeitdauerangaben und kosten.
habe ein feld vorbereitet mit „zeitformat lang“.
möchte nun bericht erstellen, bei dem bei gruppierungen nach orten auch das feld zeitdauer mit aufaddiert wird.
mit dem berichtsassistenten kann ich bei der gruppierung nur die kosten summieren lassen; das feld zeitdauer wird als summenfeld nicht angeboten.
excel kann ohne probleme mit dieser formatierung zeitdauer addieren, das muß doch in access auch möglich sein. wer kennt die lösung?

gruß franz

Unter www.donkarl.com findet man folgende Erläuterung und Lösungsvorschläge, die ich der Einfachheit halber kopiert habe.

Ich hoffe, es hilft,

Hendrik


2.10 STUNDENSUMME ÜBER 24

P r o b l e m

Eine Zeitdifferenz oder eine Zeitsumme von mehr als 24 Stunden wird im Zeitformat nicht „richtig“ angezeigt.

U r s a c h e

Access kennt keine Zeitfelder, sondern rechnet alle Zeiten als Datum.

L ö s u n g e n

für eine Zeitdifferenz:
=Format$(Fix(FctRound([MeineZeit]*24));„0“) & „:“ & Format$([MeineZeit];„nn“)

Anmerkung: Die hier jahrelang angeführte Lösung von Roland S. lieferte z.T. fehlerhafte Resultate, v.a. wegen der ungenauen Rundung mit Int(). Ich habe sie deshalb durch eine neue Variante ersetzt. Die dabei verwendete Funktion fctRound() gibt es in der Access-FAQ zum Thema Runden.

für eine Zeitsumme (von Uwe Weineck)
Setze folgende Funktion in ein VBA-Modul:

Function ZeitSumme(ByVal std As Long, _
ByVal min As Long, ByVal sek As Long) As String
ms$ = Format$(std + (min + sek \ 60) \ 60, „00“) _

  • „:“ + Format$((min + sek \ 60) Mod 60, „00“) _
  • „:“ + Format$(sek Mod 60, „00“)
    ZeitSumme = ms$
    End Function

Aufruf z.B. im Steuerelement eines Textfeldes (alles in einer Zeile):
=ZeitSumme(Summe(Stunde(Gesamtzeit)); Summe(Minute(Gesamtzeit)); Summe(Sekunde(Gesamtzeit)))

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]