我被要求在Access 2007 VBA數據庫上進行一些維護。Access 2007 VBA:將Tabledef.Connect屬性設置爲無效路徑
它已將錶鏈接到同一文件夾中的另一個Access數據庫。它有硬編碼的鏈接到該數據庫,所以如果用戶將該文件夾複製到一個新文件夾,它試圖使用原始文件夾中的鏈接數據庫。他們要求我消除在這種情況下使用錯誤鏈接數據庫的危險。
我添加了在打開數據庫時運行的代碼,以使其重置到其自己的文件夾中的數據庫的鏈接。如果鏈接的數據庫不存在或被重命名,則會提示用戶瀏覽到正確的數據庫。到現在爲止還挺好。
但是,如果用戶取消該對話框,我不想讓它連接到錯誤的數據庫。我想要將鏈接的tabledef的Connect屬性設置爲「正確」路徑,即使該表不存在。然後,用戶將得到一個錯誤,即鏈接表不存在,直到它們複製到鏈接數據庫中 - 而不是無意中使用錯誤的數據庫。
當我使用Resume Next來越過將Connect屬性設置爲不存在的數據庫時引發的錯誤時,更改不會粘住,從而將其連接到錯誤的數據庫。因此,現在,我正在關閉數據庫(在警告用戶無法找到鏈接的數據庫之後)。就不使用錯誤的數據庫而言這是安全的,但我認爲這不是理想的用戶體驗。
因此 - 是否可以將Tabledef的Connect屬性設置爲不存在的數據庫?
感謝,
格雷格
您可以將鏈接數據庫的路徑存儲在表中,並在打開數據庫時檢查它是否與currentproject.path相同。 – Fionnuala