PDA

Vollständige Version anzeigen : Dateadd Rechenfehler ?


Hideloop
25.09.2003, 10:18
Hallo zusammen,

also entweder ich oder Access spinnt.

Folgendes passiert :

Debug.Print Format(timeparam3, "hh:mm:ss AMPM") = 12:00:00 AM

timeend = Format(DateAdd("s", -1 , timeparam3), "hh:mm:ss AMPM")
debug.print timeend = 12:00:01 AM

timeend = Format(DateAdd("s", 1 , timeparam3), "hh:mm:ss AMPM")
debug.print timeend = 12:00:01 AM

Ich versteh nicht das das das gleiche Ergebnis gibt.
Normal sollte 11:59:59 PM rauskommen denk ich.
Kann jemand helfen ?????

Loop

Hideloop
25.09.2003, 11:09
kann denn nicht mal einer sagen ob ich Spinne oder Access ? *gg*

racoon0506
25.09.2003, 11:15
was ist denn in deinem timeparam3?

wenn ich hier
timeparam3=time
setze, dann rechnet A00 auch richtig mit deinen Codezeilen....

Hideloop
25.09.2003, 11:17
Hi,

Setz Timeparam3 mal auf #12:00:00 AM#

bei allen anderen Zeiten klappts bei mir auch.

Danke schon jetzt !

Loop

A97 / NT4

Johnny Loser
25.09.2003, 11:19
Natürlich will Dir jemand antworten.

Das Problem ist, zumindest bei mir, daß, wenn Du nur eine Zeit eigibst, Access automatisch den 30.12.1899 als Datum einsetzt.

Bei 30.12.1899 12:00:00 AM ist der Beginn der Zeitrechnung von Access, da kann keine Sekunde mehr abgezogen werden.

Gibst Du 12:00:01 an, funktioniert es (zumindest einmal)

Tip: Übergebe in der Zeit ein aktuelles Datum, so daß ein Abzug möglich ist.

racoon0506
25.09.2003, 11:24
Setz Timeparam3 mal auf #12:00:00 AM#
....geht bei mir auch, allerdings wird dann das AM verschluckt!

genschman
25.09.2003, 11:26
Hallo,

also die Antwort von Johnny hört sich ganz plausibel an, aber ich habe es mal mit 2 Daten (nur Uhrzeit 12:00:00 und 13:00:00) probiert und bekomme mit diesen Befehlen:

While Not rs.EOF
Debug.Print rs![test]
Debug.Print Format(rs![test], "hh:mm:ss AMPM")
Debug.Print Format(DateAdd("s", 1, rs![test]), "hh:mm:ss AMPM")
Debug.Print Format(DateAdd("s", -1, rs![test]), "hh:mm:ss AMPM")
rs.MoveNext

diese Zahlen:

12:00:00
12:00:00
12:00:01
11:59:59
13:00:00
01:00:00
01:00:01
12:59:59

Genauso, wie es sein soll! :D

Kann es sein, dass Du vielleicht noch einen Pentium-PC der ersten Baureihe hast (der mit dem berühmten Pentium-Bug :biggrinl: :D )

Hideloop
25.09.2003, 11:28
Okido .... das heißt Access 97 scheint da nicht so prickelnd zu sein.
Ich versuchs aber mal inklusive einem Fiktivdatum damit er mehr
zum Rechnen hat *g*


Danke für den Tip !!!!!

Loop

Hideloop
25.09.2003, 11:41
DAAAAAAAAAAANNNNNNNKEEEEEEEEEE!

So klappts dann auch unter Access 97 ( englisch ) & NT4 ( englisch )

Dim strtime As String
strtime = Date & " " & timeparam3
timeparam3 = strtime
timeend = Format(DateAdd("s", -1, timeparam3), "hh:mm:ss AMPM")