Hallo,
habe ein Tabellenfeld "Zeit", da soll die Geschwindigkeit eines Rennläufers in Zeit mit Zehntelsekunde eingegeben werden.
Habe es schon mit allen möglichen varianten versucht. "nn:ss.00" nimmt er leider nicht! :-(
Kann mir da wer helfen?
LG Cira
Hallo,
die kleinste Einheit ist doch millisekunden - oder?
Dann benütze doch ein LongInteger oder Double Datentyp und speichere die Zeit in ms.
Umrechnen von /nach sollte ja kein Problem sein.
Gruß Andreas
ja stimmt Milisekunden!! :D War verwirrt von anderem Beitrag hier!
hm weiß jetzt mit deiner Lösung nicht so richtig etwas anzufangen... :-\
folgender Ablauf ist gegeben:
ich (bzw. der anwender) bekomme vom Zeitnehmerteam die Zeitmessungen (z.B.: 01:44.20) aller Rennläufer und muss diese in die Datenbank einspielen, damit ich dann daraus einen Bericht "Rangliste" drucken kann.
Wenn Umrechnung von ms in in gewünschtes Format erfolgen muss, dann muss das automatisch erfolgen.
Geht das?
LG Cira
Hallo,
es sind keine Millisekunden, sondern Hundertstel (Zentisekunden).
Du musst die Zeit in einem separaten Feld eintragen. Nach Aktualisierung des Feldes dann die hundertstel ausrechen und dem Zahlenfeld zuweisen.
(Minuten*6000( + (Sekunden * 100) + Hunderstel
Die Klammern dienen nur der Übersicht, sind an sich überflüssig.
Dein Beispiel sind 10420 Zentisekunden (Hundertstel)
Hallo,
ist doch recht einfach.
Mach ein Eingabeformular mit den Feldern StarterID, Minuten, Sekunden und Millisekunden.
StarterID z.B. als Kombinationsfeld.
Dann gibst du zu einem Starter die Werte ein und drückst auf speicher-Button.
Die Prozedur darin wandelt deine Eingaben in Millisekunden um
1 Sekunde = 1000 Millisekunden
1 Minute = 60 * 1000 Milisekunden
Beispiel:
8:12.366
60.000 * 8
+ 1.000 * 12
+ 366
Ergebnis: 492.366 Millisekunden
Das lässt sich per VBA ganz einfach automatisieren.
Umrechnung zurück nach Minuten:Sekunden.Millisekunden geht im Prinzip so,
indem du zuerst prüfst wie oft passt 60.000 in das gespeicherte Ergebnis => Minuten
dann mit dem Rest prüfst wie oft 1.000 hinein passt => Sekunden
Der verbleibende Rest sind die Millisekunden.
Gruß Andreas
Hallo,
Beim Bob-Fahren sind es aber Millisekunden ::)
Andreas
danke für die hilfe. aber als "ganz einfach" würde ich es nicht bezeichnen!!
ich werde es jetzt so machen, dass ich die Millisekunden gleich in der Exceltabelle berechnen lasse, und die Werte dann in die Tabelle kopiere. Dann lasse ich in einem weiteren Feld (nach Öffnen des Formulars) den Wert berechnen in jedem Datensatz!
und jetzt muss ich mir das "ganz einfache" noch ausklügeln!
so also habe diesen Code erstellt für Form_open:
Dim Min As Long
Dim Sec As Long
Dim Milsec As Long
Dim Zeitmessung As String
Milsec = Me!bewerb_zeit
Min = Int(Milsec / 60000)
Sec = Int((Milsec - (Min * 60000)) / 1000)
Milsec = Milsec - (Min * 60000) - (Sec * 1000)
Zeitmessung = Format$(Min, "00") & ":" & Format$(Sec, "00") & "." & Format$(Milsec, "00")
da wird mir der wert zwar richtig berechnet aber nur im ersten DS und dann für alle übernommen... aber das liegt wahrscheinlich daran dass ich das in einem ungebundenen Feld berechnen hab lassen.... aber wie binde ich ein berechnetes Feld??
Ich hab dir mal ein Beispiel gemacht.
Gruß Andreas
PS: ich glaube zum herunterladen musst du dich registrieren (kostenlos natürlich)
[Anhang gelöscht durch Administrator]
wow danke danke für die viele arbeit!
aber ich brauche ja jetzt die umgekehrte version. von "ms" in "mm:ss.ms", denn das muss dann auch so in einem Bericht aufscheinen.
sicher ich könnte die drei Felder Minute, Sekunde und Millisekunde auch im Bericht zusammenfügen und dann jeweils ":" und "." dazwischenschieben. Aber gehts nicht viel einfacher??
Geht mein Code denn gar nicht??
sorry wenn ich dich zur verzweiflung bringe!! :-(
Schau dir doch mal den Code an.
im Ereignis After Update werden Millisekunden umgerechnet in Minuten, Sekunden und Hunderstel Sekunden.
Die Formeln sind:
Minuten = Fix(Wettkampfzeit / 60000)
rest =Wettkampfzeit - Val(Minuten) * 60000
Sekunden = Fix(rest / 1000)
rest = rest - Sekunden * 1000
Hundertstel = rest / 10
Gruß Andreas
ich weiß, und die Rechnung entspricht ja auch meiner Rechnung. Also soweit ok...
Aber das Problem ist ja auch
1. das Anzeigen in einem Endlosformular und
2. das Speichern des Wertes bzw. das Mitnehmen in eine Abfrage um daraus dann einen Bericht mit den Rennzeiten zu erhalten.
Kann doch gar nicht sein, dass noch niemand eine DB für Sportveranstaltungen geschrieben hat wo Rennzeiten ausgegeben werden, oder?! ich finde einfach nichts!! :-(
Letzte Chance Excel...
Hallo,
erstelle in einem Modul eine globale Funktion MsToZeit und eine ZeittoMS mit dem entsprechendem Code.
diese Funktion kannst du dann überall einfügen, z.b. in einer Abfrage.
Andreas
Hey,
super das is eine Idee!
Danke Cira