Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Malte78 am November 05, 2013, 15:08:58

Titel: Tagübergreifende Zeitsummen bilden
Beitrag von: Malte78 am November 05, 2013, 15:08:58
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....
Titel: Re: Tagübergreifende Zeitsummen bilden
Beitrag von: MzKlMu am November 05, 2013, 15:29:40
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)
Titel: Re: Tagübergreifende Zeitsummen bilden
Beitrag von: Malte78 am November 05, 2013, 15:44:22
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...



Titel: Re: Tagübergreifende Zeitsummen bilden
Beitrag von: MzKlMu am November 05, 2013, 15:54:32
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))
Titel: Re: Tagübergreifende Zeitsummen bilden
Beitrag von: Malte78 am November 06, 2013, 12:36:42
Danke, hat funktioniert - war nur eine 24 zuviel in der Formel.

Gruß Malte