title image


Smiley Berechnung einer Wettkampfzeit mit Hunderstelsekunden
Dafür eignet sich das eingebaute Datum-/Zeitformat nicht...Ich würde intern in Hundertstelsekunden rechnen und die in einer Long-Integer-Variablen ablegen. Damit geht der Wertebereich bis zu 248 Tage, was für die meisten sportlichen Wettkämpfe wohl ausreichen dürfte ;=)Die Formatierung musst du dann halt selber machen, für die Ausgabe ist das einfach:Public Function strHundertstelSekunden(S)If IsNull(S) Then strHundertstelSekunden = NullElse Dim Res As String, V As Long V = CLng(S) Res = "," & Format(V Mod 100, "00") V = V \ 100 Res = ":" & Format(V Mod 60, "00") & Res V = V \ 60 Res = ":" & Format(V Mod 60, "00") & Res V = V \ 60 strHundertstelSekunden = Format(V, "00") & ResEnd IfEnd FunctionIn der umgekehrten Richtung wird's schwieriger:Public Function HundertstelSekundenStr(S)If IsNull(S) Then HundertstelSekundenStr = NullElse Dim Res As String, V As Long, I As Long, J As Long, K As Long, Ch As String Res = "": J = 0: K = 0: S = "00000000" & S For I = Len(S) To 1 Step -1 Ch = Mid(S, I, 1) If Ch >= "0" And Ch Res = Ch & Res J = J + 1 If J > 1 Then ' Nächste Doppelziffer erreicht J = 0: K = K + 1 End If Else ' Trennzeichen If J = 1 Then ' Stellen auffüllen If Ch = "," Then Res = Res & "0" Else Res = "0" & Res End If J = 0: K = K + 1 End If End If If K = 4 Then Exit For End If Next ' da freut sich Mr. Horner: HundertstelSekundenStr = ((CLng(Mid(Res, 1, 2)) * 60 + CLng(Mid(Res, 3, 2))) * 60 + _ CLng(Mid(Res, 5, 2))) * 100 + CLng(Mid(Res, 7, 2))End IfEnd FunctionZusätzlich kann man natürlich in Eingabefeldern noch mit dem KeyPress-Ereignis herumexperimentieren bzw. versuchen, ein geeignetes Eingabeformat zu definieren...Reinhard


Gruß aus dem Norden
Reinhard


Bitte immer die Access-Version angeben!
DB-Wiki


Wie man Fragen richtig stellt

YaccessAccess-FAQUnd ansonsten: Wikipedia




geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: