Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: SG05 am Januar 26, 2012, 14:32:50

Titel: Uhrzeit gerundet
Beitrag von: SG05 am Januar 26, 2012, 14:32:50
Hallo zusammen,

ich mochte über Standardwert im Feld "Ankunftszeit" ein Datum und eine Uhrzeit vorgeben.
Mit "Jetzt()" klappt es gut.

Was muss ich tun, wenn ich den Wert im 15 Minutentakt haben möchte ( Auf- bzw. Abrunden ist nicht so wichtig ).

Beispiel: "26.01.2012  14:26:15"    soll   "26.01.2012  14:30:00"  sein

Ist das Möglich?

Der Grund ist, dass ich mit zwei Schaltflächen ( Plus und Minus ) im 15 Minutentag die Zeit ändere.

VBA:  Ankunftzeit = Ankunftszeit + 0.0416668 ( Die Zahl habe ich ausprobiert und es klappt ganz gut )

Ich glaube, das meine Lösung von hinten durch Auge ist, weiss es aber nicht besser.......
Titel: Re: Uhrzeit gerundet
Beitrag von: edgar.basler am Januar 26, 2012, 15:36:53
1.) Die Minuten kann man sich durch  - minute(Ankunftszeit) - bestimmen.
2.) Dadurch kann man sich dann wenn-Befehle zusammenbasteln - in etwa so:

wenn Minute > 45 dann stunde = stunde + 1 / Minute = 0
wenn Minute > 30 dann Minute = 45
wenn Minute > 15 Minute = 30
ansonsten Minute = 15

Aus der Ferne kann ich es momentan nur "verbal" beschreiben.
Titel: Re: Uhrzeit gerundet
Beitrag von: Stapi am Januar 27, 2012, 16:33:45
Hallo

Wenn du mit der Funktion Jetzt() arbeitest kannst du die Zeit zerlegen die entsprechende Minuten verändern und wieder zusammen setzen.

Dim dtmjetzt as Date
dim intStunde as Integer
dim intMinute as Integer
dim intSekunde as Integer

dtmjetzt = Now()

intStunde =Hour(dtmjetzt)
intMinute = Hour(dtmjetzt)
intSkunde = Hour(dtmjetzt)

Minuten enstrechend bearbeiten

'zusammensetzen

Debug.Print "TieSerial liefert: " & TimeSerial(intStunde, intMinute, intSekunde)

Gruß Stefan