tokenring
Goto Top

Zeitdifferenz berechnen mit datediff

guten abend,

ich hab jetzt schon mehrer tutorials etc durchgeblättert aber irgendwie will es nicht klappen.
ich hab ein access forumarl mit zelle start ,zelle ende, und zelle dauer.

in der zelle dauer trage ich über den visual basic editor dann folgendes ein:

Private Sub Dauer_AfterUpdate()
Me.Dauer = DateDiff("n", Me.Start, Me.Ende) / 60
End Sub

start und ende sind als datum / zeit 24 stunden

und die zelle "dauer" ist als standardzahl fomratiert

aber es will einfach nicht gelingen die dauer zu berechnen

ich bedanke mich schon vielmals, viele grüße

Content-Key: 130986

Url: https://administrator.de/contentid/130986

Printed on: April 25, 2024 at 08:04 o'clock

Mitglied: 76109
76109 Dec 05, 2009 at 09:34:14 (UTC)
Goto Top
Hallo TokenRing!

Die Berechnung ansich funktioniert schon, wobei allerdings die Division durch 60 wenig Sinn macht, weil Du anstatt "n" für Minuten auch "h" für Stunden verwenden kannst.

Wenn Du eine Berechnung für die Dauer-Anzeige durchführen willst, dann musst Du das da machen, wo Du was eingibst bzw. wo sich was ändert und ein Erreignis ausgelöst wird. Beispiel Start und Ende flexibel verändern und in Dauer anzeigen:
Private Sub Start_AfterUpdate()
   Call DauerBerechnung
End Sub

Private Sub Ende_AfterUpdate()
   Call DauerBerechnung
End Sub

Private Sub DauerBerechnung()
   Dim d1 As String, d2 As String

   d1 = Me.Start
   d2 = Me.Ende

   If (IsDate(d1) And IsDate(d2)) Then
      Me.Dauer = DateDiff("h", d1, d2)  
   End If
End Sub

Gruß Dieter
Member: TokenRing
TokenRing Dec 09, 2009 at 15:41:41 (UTC)
Goto Top
wunderbar, hat funktioniert.

vielen vielen dank
Mitglied: 76109
76109 Dec 09, 2009 at 15:57:06 (UTC)
Goto Top
Hallo TokenRing!

Yepp, gern geschehenface-wink

Gruß Dieter