注釋:本文中的信息僅適用於 Microsoft Access 數據庫 (.mdb)。
當有其他用戶正打開 Access 數據庫時,用戶不能將設計更改保存到 Microsoft Access 數據庫中。確保更改保存的唯一途徑是以獨占 模式打開 Access 數據庫。
通常,當試圖對數據庫對象(不包括表和查詢)或共享模式下的某個項目進行設計更改時,如果您當時是 Access 數據庫的唯一用戶,Access 將臨時提升您以獨占模式使用 Access 數據庫。當保存所有設計更改並關閉所有“設計”視圖窗口時,Access 會將 Access 數據庫返回為共享模式。在此期間,其他用戶將無法打開 Access 數據庫。如果您正在使用 Visual Basic 編輯器 (VBE),還需要保存所有打開的模塊並關閉 VBE。
如果其他用戶以共享模式打開了 Access 數據庫而您試圖做一個主要的設計更改,如修改窗體,則 Access 會警告您可能不能保存更改。但如果其他用戶以共享模式打開 Access 數據庫而您試圖做一個次要的設計更改,如更改打印機設置,則 Access 不會警告您不能保存更改。在這兩種情況下,都要等到成為 Access 數據庫的唯一用戶時,您才能保存主要設計更改,而 Access 保存次要設計更改。
數據訪問頁的處理方式有所不同。盡管創建、重命名、移動和刪除數據訪問頁仍要求使用獨占模式(因為這要更改 Access 數據庫中的信息),但是編輯數據訪問頁不要求提升為獨占模式(因為相應的 HTML 文件存在於數據庫以外的文件系統中)。
主次設計更改之間的差別
如果沒有以獨占模式訪問 Access 數據庫,則 Access 將在可能無法保存以下主要設計更改時向您發出警告:
◆在“設計”視圖中對數據庫對象的更改(除表和查詢以外)
◆在“窗體”視圖中對窗體屬性表的更改
◆在“Visual Basic 編輯器”中編譯項目、修改項目屬性、添加或刪除引用
◆重命名、粘貼或刪除數據庫對象
◆將數據庫對象另存為其他類型的數據庫對象
◆添加或修改命令欄上的控件
◆在“數據庫”窗口中編輯自定義組
◆創建、重命名、移動和刪除數據訪問頁
如果沒有以獨占模式訪問 Access 數據庫,則在可能無法保存以下次要設計更改時,Access 不會發出警告:
◆對數據表格式(如線型和字體屬性)的更改
◆凍結、撤消凍結、隱藏和顯示數據表列
◆調整數據表列寬和行高
◆對窗體或數據表篩選或排序次序的更改
◆對子數據表狀態的更改(展開還是折疊)
◆對 OLE 對象的 OLE/DDE 鏈接的更改或對未綁定對象框內容的更改
◆對打印機設置的更改
◆對命令欄的更改,如命令欄的位置及其是否可視
◆對“數據庫”窗口布局的更改
共享 Access 數據庫設計和開發的策略
如果要共享 Access 數據庫的設計,不妨考慮使用以下策略:
◆針對特定的開發者指定特定的對象或對象組。例如,一位開發者設計窗體而另一位設計報表。然後,每位開發者可以在 Access 數據庫的私有副本上工作。當開發小組准備測試、組裝和生產時,每位開發者從各自的私有數據庫副本中將數據庫對象導出到主 Access 數據庫中。
◆使用源代碼控制程序。如果使用 Visual SourceSafe,最好定期運行“性能分析器”(在“工具”菜單上指向“分析”,然後單擊“性能”即可打開)來保持最佳性能。
有關在共享數據庫中保存設計更改的提示
◆如果另一位用戶已打開某個表或正在查看基於該表的查詢、窗體或報表中的數據,則不能更改該表的設計。Microsoft Access 將告知該表為只讀。
◆如果某些對象彼此依賴,請同時將它們全部更新,這樣其他用戶才不至於打開不一致的對象版本。例如,如果要在某窗體中添加新字段,請在更新該窗體前確保也在基礎查詢中添加了新字段。
◆如果更改另一位用戶已經打開的查詢,則該用戶必須在關閉並重新打開更改的對象後,才能使用最新的版本。在使用 Visual Basic for Applications (VBA) 模塊時,其他用戶必須先關閉 Access 數據庫然後再重新打開,才能運行更新後的 Function 或 Sub 過程。
(責任編輯:盧兆林)