Hallo liebe Access-Gemeinde!
Ich wieder einmal ein PROBLEM - aber ich kann mir vorstellen, dass mir einer von euch helfen kann!
Ich habe in einer Tabelle die Felder Laufzeit und Differenz (text) und ich möchte die Differenz von der Laufzeit abziehen. Aber mein VBA-Code funktioniert nicht so richtig.
Denn dieser soll auch die Zentelsekunden berücksichtigen. Bei meinem Code habe ich das PROBLEM, dass er dies nicht richtig macht:
Zum Beispiel: 00:20:14,1 - 00:00:13,2 = 00:20:00,9, Bei meinem Code kommt aber 00:20:01,-1 heraus.
Was habe ich falsch?
Mein VBA-Code lautet:
Public Function zeit_differenz_laufzeit(Laufzeit As String, Differenz As String)
Dim dLaufzeit As Date
Dim dDifferenz As Date
Dim uebertrag As Date
Dim zentel As Integer
dLaufzeit = Left(Laufzeit, 8)
dDifferenz = Left(Differenz, 8)
zentel = 0
zentel = Val(Right(Laufzeit, 1)) - Val(Right(Differenz, 1))
uebertrag = "00:00:00" & Format(zentel / 10, "0")
zeit_differenz_laufzeit = Format(dLaufzeit - dDifferenz + uebertrag, "hh:mm:ss") & "," & Format(zentel Mod 10, "0")
End Function
Danke im voraus Ernst
weil zentel = Val(Right(Laufzeit, 1)) - Val(Right(Differenz, 1)) in deiner Beispielrechnung ( 1 - 2) -1 als ergebnis rauskomt und du diese "-1" einfach nur als string anfügst.
Public Function zeit_differenz_laufzeit(Laufzeit As String, Differenz As String)
Const ZentelSec = 864000
dLaufzeit = Left(Laufzeit, 8): dLaufzeit = dLaufzeit * ZentelSec + Val(Right(Laufzeit, 1))
dDifferenz = Left(Differenz , 8): dDifferenz = dDifferenz * ZentelSec + Val(Right(Differenz , 1))
zeit_differenz_laufzeit= Format(((dLaufzeit - dDifferenz ) \ 10) / 86400, "hh:mm:ss") & Format((dLaufzeit - dDifferenz ) Mod 10, "\,0")
End Function