2016-11-15 64 views
0

是否存在MS Access 2000數據庫的一種已知故障模式,當數據被拒絕(或無提示丟棄,更糟糕)插入包含日期/時間字段類型且默認值爲= Now()的表中時, ?Now()的MS Access 2000(* mdb)默認值有時會失敗?

問題中的日期/時間字段未被索引或不需要;

但是,當INSERT查詢發送到數據庫時,它看起來像= Now()函數失敗 - 並且數據不寫入表中(但是執行另一個自動增量字段查找,因爲當on = Now()成功,自動增量有一個缺口,等於查詢運行的次數)

eg我看到在表

ID | Data | Timestamp 
5 | foo | 11/15/2016 17:15:00 
1 | foo | 11/15/2016 17:11:00 

INSERT INTO TheTable ([Data]) VALUES (foo)被跑每分鐘和經過一段時間後最終上運行2,3和4的問題發生,它成功(如所示與ID = 5)

爲什麼我認爲它可能是= Now()問題?

因爲如果計算機時鐘改變/向後/(例如,在DST調整期間),則會發生相同/類似的故障。

但最近剛剛發生藍屏,無法在數小時內將數據寫入該表中,而DST調整實際上已經發生。

(程序本身並沒有被告知查詢失敗,而該費用前,彷彿什麼都沒有發生 - 一些調試工作仍在審理中)

我環顧四周SO和不知道這Table Field Default Property Values Functions Not Working Anymore in Microsoft Access 2010可能有一些做它?然而,程序和數據庫通過ODBC的Microsoft Access通信(* .mdb)中的驅動程序(支持MS Office 2000個的文件...)

希望這是有道理的, 親切的問候......

回答

1

從來沒有聽說過這樣的問題,但爲什麼不只是調整你的SQL:

INSERT INTO TheTable ([Data], [Timestamp]) VALUES (foo, Now()) 
+0

我要去。 – cidjen

+0

也可能創建一個測試/回退例程,驗證該行是否已被插入,並嘗試再次插入,如果無法檢索到,但使用自己的方式檢索當前日期/時間。這很難調試,因爲它從來沒有發生在測試臺上......無論如何,謝謝! – cidjen