Datum/Uhrzeit als Schlüssel in MS Access 2000
-
Hallo,
ich habe ein MS Access 2000 eine Tabelle mit eine Feld vom Typ/Datum Uhrzeit als Schlüssel angelegt.
Jetzt habe ich mit MatLab 7.0 über ODBC neue Daten eingefügt. Dabei wurden mehrmals für bestimmte Uhrzeiten Werte mit dem gleichen Schlüssel angelegt. Theoretisch sollte das insert doch in so einem Fall fehlschlagen.
Bisher hat das auch funktioniert und manuell kann ich keine Daten mit gleichem Schlüssel anlegen. Die Anzeige der Uhrzeit in MS-Access ist bis auf die Sekunde gleich, und 10tel Sekunden scheint es nicht zu geben.Hat jemand eine Idee, woran das Problem liegen kann, bzw. wie das Problem zu umgehen ist?
MfG
DJohn
-
Sind die eingefügten Daten Fixdaten oder benützt du für den Insert-Vorgang die Systemzeit?
MfG SideWinder
-
Die eingefügten Daten sind fest.
MatLab verwendet für die Datumsdarstellung Gleitkommazahlen, die allerdings auch eine höhere Auflösung als 1 Sekunde haben können.
Selbst wenn ich die Daten in MatLab aus der Datenbank auslese, kann ich bei einem nachfolgendem insert der gleichen Daten für ca. jede 4 Zeit wieder einen neuen Datensatz in der Datenbank anlegen. Könnte es sein, das die Uhrzeit, durch Rundungsfehler nach dem Konvertieren in die verschiedenen Darstellungen nicht ganz gleich ist?
In MS Access kann ich aber keine größere Auflösung als Sekunden anzeigen lassen.Wahrscheinlich muß ich vor jedem Einfügen erst mal Testen, ob der Uhrzeit schon in der Datenbank steht. Allerdings ist die ODBC-Anbindung von MatLab an Access sowiso nicht besonders schnell, so dass ich mir eigentlich den zusätzlichen Test gern sparen würde.
DJohn
-
DJohn schrieb:
MatLab verwendet für die Datumsdarstellung Gleitkommazahlen, die allerdings auch eine höhere Auflösung als 1 Sekunde haben können.
Problem erkannt, aber keine Lösung in Sicht. Holzhammermethode: Daten auslesen und in neuer Tabelle mir gewünschter Genauigkeit wieder einfügen.
Bei einer 'echten' Datenbank könnte man das mit einem Before-Insert-Trigger lösen...
-
@Joe_M:
Danke, ich mach es jetzt auch erst mal mit einer "Holzhammermethode".Eine Frage bleibt aber noch:
Hat MS Access in den Datum/Uhrzeit-Feldern intern auch eine höherer Auflösung, oder stehen in der Tabelle nach dem Einfügen wirklich 2 Einträge mit gleichem Schlüssel?
D.h. muss ich befürchten, dass bei einer Verknüpfung von 2 Tabellen über ein Datum/Zeitfeld äußerlich gleiche Zeiten, doch nicht gleich sind?MfG
DJohn
-
DJohn schrieb:
Hat MS Access in den Datum/Uhrzeit-Feldern intern auch eine höherer Auflösung...
Ich habe es nicht überprüft, aber davon ist auszugehen. Ich denke die Auflösung geht bis Millisekunden.
DJohn schrieb:
D.h. muss ich befürchten, dass bei einer Verknüpfung von 2 Tabellen über ein Datum/Zeitfeld äußerlich gleiche Zeiten, doch nicht gleich sind?
Ja.
-
Danke,
ich werde nochmal testen, ob ich die Zeiten irgendwie synchronisieren kann, sonst muss ich mir wohl eine andere Lösung suchen.
DJohn