![]() |
Datenbank: Access • Zugriff über: ADO
Zeit + Datenbank + grosses Durcheinander
'loha Folks,
in einer Access Datenbank ist die Zeit eines bestimmten Ereignisses abgespeichert. Ich möchte nun verhindern, dass das nächste Ereignis frühestens nach 15 Sekunden eingetragen werden kann (alle Ereignisse dazwischen werden verworfen). Nun schaffe ich es nicht zu überprüfen ob die 15 Sekunden bereits vorbei sind oder nicht. Den folgenden Code führe ich aus, sobald ich überprüfen möchte ob 15 Sekunden vergangen sind:
Delphi-Quellcode:
Mit der StrToDateTime Routine sollte es ja jetzt möglich sein, den String in ein Datum mit Zeit zu "convertieren" und mit Trunc sollte sich doch dann auch die Zeit extrahieren lassen, also etwas in dieser Art:
StringTime := FieldByName('Time').Value; // StringTime schaut dann so aus '10.02.2007 11:08:31' und ist auch wirklich ein String
Delphi-Quellcode:
EntryTime ist aber stets 0 und ich weiss nicht wie weiter. Hilfe?!?
EntryTime := Trunc(StrToDateTime(StringTime));
|
Re: Zeit + Datenbank + grosses Durcheinander
Sitze gerade im Internetcafe und habe somit kein Delphi zur Hand, aber versuch es mal mit:
var EntryTime:tdatetime; begin EntryTime:= FieldByName('Time').asdatetime; if EntryTime+((1/24/60/60)*15)>=now then begin //neuer Datensatz darf angelegt werden end; end; |
Re: Zeit + Datenbank + grosses Durcheinander
Hallo,
so müsste es gehen (ungetestet) if (now - FieldByName('Time').asdatetime) > (15/(60*60*24)) then 15 sekunden vorbei |
Re: Zeit + Datenbank + grosses Durcheinander
Irgendwie scheitert die Sache schon bei...
Delphi-Quellcode:
EntryTime ist immer 0. Aber wie gesagt...
EntryTime:= FieldByName('Time').AsDateTime
Delphi-Quellcode:
^^ das funktioniert dann aber wieder.
StringTime := FieldByName('Time').Value; // StringTime schaut dann so aus '10.02.2007 11:08:31' und ist auch wirklich ein String
|
Re: Zeit + Datenbank + grosses Durcheinander
Welchen Typ hat Time in der Datenbank?
|
Re: Zeit + Datenbank + grosses Durcheinander
Time ist in der Datenbank als Datum/Uhrzeit deklariert.
Format: Zeit, lang (00:00:00;0;_) Soll ich die Zeit als Text in der Datenbank abspeichern? |
Re: Zeit + Datenbank + grosses Durcheinander
Nein, es sieht aber aus, als sei es als Text gespeichert.
|
Re: Zeit + Datenbank + grosses Durcheinander
Also, weder in der Felddefinition (ADO) noch in der Access-Datenbank wird die Zeit als Text verwertet.
Datum/Uhrzeit <- etwas anderes gibt es in Access nicht ftDateTime <- ist die Definition des Feldes ADO-Seitig |
Re: Zeit + Datenbank + grosses Durcheinander
Dann versuch mal den Wert des Feldes direkt einer Time-Variablen zuzuweisen
|
Re: Zeit + Datenbank + grosses Durcheinander
Auch dann ist die "EntryTime" stets 0. Wahrscheinlich liegt es daran, dass ich irgendetwas übersehe. Werde einmal darüber schlafen und dann das Ganze nochmals versuchen.
Vielen Dank soweit! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz