Ich versuche die folgende Abfrage in MS-Access 2007, aber es schlägt auf dem Zeitfeld fehl.SQL-Befehl mit Datetime in MS-Access einfügen
INSERT INTO LOG (
EMPLOYEECODE, STATUSID, LOCATIONID, TIME, DURATION,
SHIFTID, LATECOMING, EARLYGOING, LOGDATE, STATIONID
)
VALUES (
1, 1, 0, '4/21/2009 2:25:53 PM', 0,
8, 0, 1, '1/1/2009', 1
)
Das Feld TIME
ist als Datetime definiert.
Ohne das Feld TIME
funktioniert die Abfrage gut!
Ich habe eine Reihe von verschiedenen Dingen versucht, wie das Einschließen der Datetime in Hashes, Anführungszeichen usw. Jedoch schlägt die Abfrage noch auf dem Zeitfeld fehl.
Danke Jungs! Das hat mich fast vollständig erwischt. Ich habe immer noch den Syntaxfehler für die Insert-Anweisung, aber dann weiter Googeln, erkannte ich, dass TIME
könnte ein reserviertes Schlüsselwort sein, so dass es auf Box-Klammern als [TIME]
funktioniert gearbeitet!
FWIW ISO-Datumsformat in einfachen Anführungszeichen Funktioniert immer für mich. – onedaywhen
Welche Datenbankschnittstelle benutzen Sie? ADO/OLEDB? Wenn ja, wäre das korrekt. Wenn Sie innerhalb von Access arbeiten, wird dies nicht funktionieren, es sei denn, Sie haben die Optionen für die Verwendung von ANSI 92 standardmäßig festgelegt. –
@David: ja normalerweise benutze ich ADO/OLEDB, aber es funktioniert auch bei Access Query (vielleicht habe ich es mit ANSI 92 eingestellt ???) – Dels