Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Tagübergreifende Zeitsummen bilden

Begonnen von Malte78, November 05, 2013, 15:08:58

⏪ vorheriges - nächstes ⏩

Malte78

Hallo,

ich habe folgendes Problem:

Ich habe in einem Bericht 2 Zeiten (Startzeit: 22:00 und Endzeit 03:00).
In einem Textfeld möchte ich jetzt die Gesamtzeit (in diesem Beispiel sind es 05:00 Stunden) ermitteln.
Sind die Zeiten innerhalb von einem Kalendertag, ist es per einfacher Formel kein Problem (Endzeit-Startzeit).
Nur wie mache ich das tagübergreifend?

freue mich über jeden guten Vorschlag....

MzKlMu

Hallo,
berechne die Dauer in einer Abfrage:
Dauer: ([endzeit]-[startzeit])*24+Abs(([endzeit]<[startzeit])*24)

es geht aber auch in einem Feld:
=([endzeit]-[startzeit])*24+Abs(([endzeit]<[startzeit])*24)
Gruß Klaus

Malte78

Danke, das hat schon mal gut funktioniert....

nun will ich die ermittelten Zeiten per Summenfunktion zusammenfassen.

ich habe in dem entsprechenden Textfeld per VBA ein Format vorgegeben:

Private Sub Text23_BeforeUpdate(Cancel As Integer)
Function fctTimeSum(ByVal lngHour As Long, _
ByVal lngMin As Long, ByVal lngSec As Long) As String

    fctTimeSum = Format$(lngHour + (lngMin + lngSec \ 60) \ 60, "00") _
    & ":" & Format$((lngMin + lngSec \ 60) Mod 60, "00") _
    & ":" & Format$(lngSec Mod 60, "00")
End Function

als Formel habe ich in das Textfeld folgende Formel eingegeben:

=fctTimeSum(Summe(Stunde([Endzeit]-[Startzeit]));Summe(Minute([Endzeit]-[Startzeit]));Summe(Sekunde([Endzeit]-[Startzeit])))

Die Formatgeschichte mußte ich machen, weil ich auch mehr als 24:00 Stunden in meiner Summe habe.

Die Formel vom Textfeld funktioniert bei tagübergreifenden Zeiten jedoch nicht. Ich habe versucht, die Formel mit den 24 Stunden dort einzubauen, es aber nicht hinbekommen...




MzKlMu

Hallo,
berechne wie vorgeschlagen in der Abfrage und summiere das berechnete Feld "Dauer".
Und diese Summe kannst Du dann auch für die Formatierung mit Deiner Funktion verwenden.
=fctTimeSum(Summe(Dauer))
Gruß Klaus

Malte78

Danke, hat funktioniert - war nur eine 24 zuviel in der Formel.

Gruß Malte