適用對象
Form 物件 |
Report 物件 |
您可以使用 RecordLocks 屬性來決定如何鎖定記錄,以及當有兩個使用者同時嘗試編輯相同記錄時會發生什麼情況。 讀/寫。
expression.RecordLocks
表達 必要。 一個運算式,該運算式會返回應用程式至清單中的其中一個物件。
備註
當您編輯記錄時,Microsoft Office Access 2007 會自動鎖定該記錄,避免其他人在您完成編輯之前做出變更。
-
表單。 指定在有人更新多使用者資料庫中的資料時,如何鎖定基礎資料表或查詢中的記錄。
-
報表。 指定是否要在有人預覽或列印報表時,鎖定基礎資料表或查詢中的記錄。
-
查詢。 指定是否要在有人執行查詢時,鎖定查詢 (通常是多使用者資料庫中的巨集指令查詢) 中的記錄。
附註: RecordLocks 屬性僅適用於 Microsoft Access 資料庫 (.mdb 或 .accdb) 中的表單、報表或查詢。
RecordLocks 屬性使用以下設定。
設定 |
Visual Basic |
描述 |
無鎖定 |
0 |
(預設) 表單中,兩個或多個使用者可以同時編輯同一個記錄。 這也稱為「樂觀」鎖定。 如果有兩個使用者嘗試將變更儲存至同一個記錄,Access 會向嘗試儲存第二個記錄的使用者顯示一則訊息。 然後,此使用者可以捨棄記錄、將記錄複製到剪貼卡,或取代其他使用者的變更。 此設定通常用於唯讀表單或單一使用者資料庫中。 它也會用於多使用者資料庫,允許多個使用者同時對同一筆記錄進行變更。 針對報表,系統不會在有人預覽或列印報表時鎖定記錄。 針對查詢,系統不會在有人執行查詢時鎖定記錄。 |
所有記錄 |
1 |
如果有人執行以下動作,系統就會鎖定基礎資料表或查詢中的所有記錄:以表單檢視或資料工作表檢視開啟表單、預覽或列印報表,或是執行查詢。 使用者可以讀取記錄,但無法編輯、新增或刪除任何記錄,直到表單關閉、報表完成列印或查詢完成執行為止。 |
編輯的記錄 |
2 |
(僅限表單和查詢) 系統會在使用者開始編輯記錄中的任何欄位時鎖定記錄頁面,直到使用者移至其他記錄為止。 因此,一次只能有一個使用者編輯記錄。 這也稱為「封閉式」鎖定。 |
附註: 您可以使用表單的屬性工作表、巨集或 Visual Basic for Applications (VBA) 程式碼來設定此屬性。
附註: 變更開啟的表單或報表的 RecordLocks 屬性會使系統自動建立 Recordset。
如果只有一個人使用基礎資料表或查詢或是做出所有資料變更,您就可以讓表單使用 [無鎖定] 設定。
在多個使用者資料庫中,若要使用開放式鎖定並對嘗試編輯相同表單記錄的使用者發出警告,請使用 [無鎖定] 設定。 若要避免兩個或多個使用者同時編輯資料,請使用 [編輯的記錄] 設定。
在您開始預覽或列印報表,或是執行新增、刪除、製作資料表或更新執行的動作之後,如要避免其他人變更資料,請使用 [所有記錄] 設定。
在表單檢視或資料工作表檢視中,系統會在每個鎖定記錄的記錄選取器中顯示鎖定指標。
祕訣
若要變更表單的預設 RecordLocks 屬性設定,請按一下 Microsoft Office 按鈕 ,然後按一下 [Access 選項]。 在 [Access 選項] 對話方塊中,按一下 [進階],然後在 [預設記錄鎖定] 底下選取您要的選項。
開放式資料庫連接 (ODBC) 資料庫的表單、報表或查詢資料會被視為已選擇 [無鎖定] 設定,無論 RecordLocks 屬性設定為何。
範例
以下範例將「員工」表單的 RecordLocks 屬性設為 [編輯的記錄] (系統會在使用者開始編輯記錄中的任何欄位時所訂記錄頁面,直到使用者移至其他記錄為止)。
Forms("Employees").RecordLocks = 2