Ms-Access

Access 2010-2016 兼容性錯誤

  • December 11, 2018

我剛剛更新到 Access 2016,而我的使用者仍使用 Access 2010。

我在 MS Access 2016 中打開了我們的數據庫一次,沒有進行任何更改,然後將其關閉,現在所有使用者都遇到了任何基本 VBA 程式碼的錯誤,包括:

StrConv (Me.FormField, vbProperCase)
DoCmd.GoToRecord
DoCmd.RunCommand acCmdSaveRecord

等等。

但是,它對我來說效果很好。我在 Access 2010 上的所有使用者都完全崩潰了。有什麼辦法可以解決這個問題嗎?我在想,即使我回到 Access 2010,如果這些錯誤程式碼在任何一個版本中都可以正常工作,我該如何解決這些錯誤?

試了一個緊湊和修復,沒有效果。

下面是一個範例:在 Access 2010 中,當在AfterUpdate()具有該StrConv (Me.FormField, vbProperCase)功能的文本框上觸發事件時,它會調出 VBA 調試器。錯誤是:Compile error: cannot find project or library.

以前,完全相同的功能在 access 2010 中執行良好,並且此程式碼沒有任何更改。它在大約 15 天前的備份副本中執行良好。

社區維基回答

該特定錯誤消息是關鍵:

編譯錯誤:找不到項目或庫

在 2016 年打開 Office 2010 數據庫時,在“引用”菜單中刪除了對 14.0 對像庫的所有 VBA 引用,並用 Office 2010 中不存在的 16.0 替換它們。

.mdb在舊版本中打開時,會出現損壞的引用。當有對 Office 庫(Word、Excel 等)的引用時,就會發生這種情況。在最舊的版本(不執行程式碼的版本)中編輯引用(在 VB 編輯器中)。

首先: - 在 Visual Basic 編輯器中檢查“Missing:Reference”。通常是 MS Access 繼承了新的引用,而不是還原它們或使它們向後兼容。

第二: - 也可能是 OLE 自動化參考在起作用…刪除 OLE 自動化參考,保存/關閉/重新打開數據庫,然後將其添加回來。我在使用 Environ(“Username”) 時不時收到此錯誤。

引用自:https://dba.stackexchange.com/questions/142177