2009-04-21 108 views
9

我正在MS-Access 2007中嘗試以下查詢,但它在時間字段上失敗。在MS-Access中插入帶有日期時間的SQL命令

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 
) 

TIME字段被定義爲日期時間。

沒有TIME字段,查詢工作正常!

我已經嘗試了許多不同的事情,例如將日期時間封入散列,引號等。但是,查詢仍然在時間字段上失敗。


謝謝你們!這幾乎讓我充滿了。我仍然不斷收到插入語句的語法錯誤,但隨後在進一步的谷歌搜索中,我意識到TIME可能是一個保留關鍵字,所以將它放在方括號中,作爲[TIME]工作!在Access中使用

回答

18

日期&時間輸入,因爲訪問不能做到從字符/文字自動轉換爲日期或時間在SQL查詢(或接入稱之爲查詢),以及您更好地使用國際標準輸入日期時間是YYYY-MM-DD HH:NN:SS(4位數年份,2位數月份,2位數日,2位數小時,2位數分鐘,2位數秒)

所以4/21/2009下午2時25分53秒使用#2009-04-21 14:25:53#

或者如果它仍然失敗,你可以使用# '2009-04-21 14:25:53' #

編輯:以上可能或使用ADO/OLEDB數據庫接口進行工作,如果您啓用ANSI 92,感謝大衛指出

我建議你使用YYYY-MM-DD HH:NN:SS格式與之前使用#單引號(')嘗試像我上面

+0

單引號內FWIW ISO日期格式總是爲我工作。 – onedaywhen 2009-04-21 10:39:59