2012-10-25 57 views
2

我通過MS Access Linked Tables將錶鏈接到SQL 2008R2數據庫。MS-Access鏈接表的併發錯誤

我得到這樣的警告時,我想改變在底層的SQL表中有一個以上的位字段的訪問鏈接表中的數據:

的記錄已被其他用戶從此被改變你開始編輯 吧。如果保存記錄,則將覆蓋更改 用戶製造

當表中只有一個位字段時,我沒有任何問題。這真是一個奇怪的錯誤恕我直言。有沒有其他人遇到過這種情況,並找到了解決辦法嗎?

+2

您使用MS Access 2010嗎? –

回答

1

我在使用SQL來處理鏈接表時遇到過這樣的問題。我不確定爲什麼你特別在位域看到這個問題。嘗試添加一個帶時間戳的數據類型(rowversion)的'ts'列到表中,並在Access中重新鏈接它。

0

我知道這是一個古老的問題,但也許我的答案會受益於其他人,因爲我在相同和其他類似問題上掙扎。

我有類似的錯誤,大多能夠解決它。有一點可以幫助,就是在數據庫上使用SQL Profiler,並在嘗試添加新行時觀察由Access所做的SQL命令。

幾項檢查.. 1)確認你在設置主鍵和自動編號 2表的ID列)如果這涉及另一個表之間的主/子關係,在Access數據庫工具「關係」,指定關係和這些類型之間的連接類型。 3)如果表之間有聯接,那麼請在查詢中公開主要列和外部列。

使用SQL事件探查器,我會看到它會嘗試找到要更新的行,並根據主鍵以外的其他列進行更新。例如

更新表 集... 其中id = 5,數據1 = someValue中和數據2 == othervalue

做這件事時,我有時會得到同樣的錯誤,因爲我可以在新的編輯過的其他值行,因此複合where子句將失敗。你想要的是更新完全依賴於主鍵。