當您在 Access 中儲存已編輯的記錄時,發生「此記錄已由另一位用戶變更」錯誤
- 發行項
-
-
-
- 適用於:
- Microsoft Office Access 2007, Microsoft Office Access 2003
原始 KB 編號: 837937
注意
本文僅適用於 microsoft Access 專案 (.adp) 。 需要基本的巨集、編碼和互通性技能。
當您以多數據表檢視為基礎的窗體編輯記錄,而且您在多用戶環境中工作時,當您嘗試將變更儲存至記錄時,可能會失敗。 您也可以在 [ 寫入衝突 ] 對話框中收到下列錯誤訊息:
自從您開始編輯此記錄之後,其他使用者已變更此記錄。 如果您儲存記錄,您將會覆寫其他使用者所做的變更。
將變更複製到剪貼簿可讓您查看其他使用者輸入的值,然後如果您決定進行變更,請將變更貼回 。
如果您在 [寫入衝突] 對話框中按兩下 [複製到剪貼簿] 或 [卸除變更],您可能會注意到您對記錄所做的變更已復原,而且現在可以看到其他使用者對記錄所做的變更。 不過,如果您再次編輯相同的記錄,並嘗試儲存記錄,您可能會再次收到「徵兆」一節中提及的錯誤訊息。
當您按兩下 [儲存 記錄] 時,您也可能會注意到[徵兆] 區段中所提及的錯誤訊息。
注意
當您使用 Microsoft Access 2000 時,可能不會看到此行為。
若要解決此問題,請使用下列其中一種方法:
更新以多重數據表檢視為基礎的表單
在[徵兆] 區段中提及的錯誤訊息第一次出現時,您必須在 [寫入衝突] 對話框中按兩下 [複製到剪貼簿] 或 [卸除變更]。 若要避免重複出現「徵兆」一節中提及的錯誤訊息,您必須先更新窗體中的記錄集,才能再次編輯相同的記錄。
附註
- 若要更新 Access 2003 或 Access 2002 中的表單,請按兩下 [記錄] 選單上的 [ 重新 整理 ] 。
- 若要更新 Access 2007 中的表單,請按兩下 [首頁] 索引卷標上 [記錄] 群組中的 [全部重新整理]。
搭配連結的子表單使用主表單
若要避免重複出現「徵兆」一節中提及的錯誤訊息,您可以使用主窗體搭配連結的子窗體,在相關數據表中輸入數據。 您可以從一個位置輸入這兩個數據表中的記錄,而不需要使用以多重數據表檢視為基礎的窗體。
若要使用連結的子窗體建立主表單,請遵循下列步驟:
根據多重數據表檢視中使用的相關 (子) 數據表,建立新的表單。 在表單上包含必要的欄位。
儲存表單,然後關閉表單。
建立以多重數據表檢視中所使用之主數據表為基礎的新表體。 在表單上包含必要的欄位。
在 [資料庫] 視窗中,將您在步驟 2 中儲存的表單新增至主要表單。
這會建立子窗體。
將子表單的 [連結子欄位 ] 屬性和 [連結主要 欄位] 屬性設定為用來連結資料表的欄位名稱。
Microsoft 已確認這是 Microsoft 產品中「適用於」一節中所列的錯誤。
在多用戶環境中,Microsoft Access 專案 (.adp) 使用名為 開放式記錄鎖定 的技術來處理記錄爭用。 因此,當多個用戶同時使用相同的記錄時,其中一個使用者可能會收到「徵兆」一節中所提及的錯誤訊息。 不過,當下列所有條件成立時,[徵兆] 區段中提及的錯誤訊息也可能間歇性地出現:
- 表單是以多表檢視為基礎。
- 多重數據表檢視是以父子式關聯性所涉及的數據表為基礎。
- 自從您開始編輯記錄之後,正在編輯的記錄已變更並由另一位用戶認可。
您可能會注意到,當您直接在多用戶環境中使用多數據表檢視時,也會發生相同的問題。
啟動存取。
開啟 NorthwindCS.adp 範例資料庫專案。
在 [資料庫] 視窗中,按兩下 [物件] 區段中的 [查詢]。
注意
在 Access 2007 中,按兩下 [建立] 索引標籤上 [其他] 群組中的 [查詢精靈]。
在右窗格中,按兩下 [ 在設計工具中建立檢視]。
注意
在 Access 2007 的 [ 新增查詢 ] 對話框中,按兩下 [ 設計檢視],然後按兩下 [ 確定]。
在 [新增數據表] 對話框中,按兩下 [數據表] 索引卷標上的 [訂單] 和 [訂單詳細數據],然後按兩下 [關閉]。
在 [SQL] 窗格中輸入或貼上下列查詢:
SELECT
dbo.Orders.OrderID,
dbo.[Order Details].ProductID,
dbo.[Order Details].Quantity,
dbo.Orders.ShipName
FROM
dbo.Orders
INNER JOIN
dbo.[Order Details]
ON
dbo.Orders.OrderID = dbo.[Order Details].OrderID
附註
注意
- 在 Access 2003 或 Access 2002 中,如果看不到 SQL 窗格,請指向 [檢視] 功能表上的 [顯示窗格],然後按兩下 [SQL]。
- 在 Access 2007 的 [設計] 索引標籤上,按兩下 [工具] 群組中的 [SQL] 以開啟 [SQL] 窗格。
將檢視儲存為OrderView。
在 [ 檢視] 功能表上,按兩下 [資料工作表檢視]。
注意
在 Access 2007 的 [ 設計] 索引 標籤上,按兩下 [ 檢視] 底下的箭號,然後按兩下 [資料工作表檢視]。
在 OrderView 檢視中編輯記錄。
開啟 NorthwindCS.adp 範例資料庫專案的另一個實例。
編輯您在步驟 9 中編輯的相同記錄。
在 [ 記錄] 功能表上,按兩下 [ 儲存記錄]。
注意
在 Access 2007 中,按兩下 [Microsoft Office 按鈕],然後按兩下 [ 儲存]。
您可能會收到「徵兆」一節中提及的錯誤訊息。