從“不能打開數據庫,因爲其中包含 VBA 項目不能讀取” 談Access 2010與Access 2010 SP1 補丁的兼容問題

2017-08-10 21:51:00
zstmtony
原創
2354

從“不能打開數據庫,因爲其中包含 VBA 項目不能讀取” 談Access 2010與Access 2010 SP1 補丁的兼容問題


有不少使用Office交流網的Access通用開髮平颱的網友常常遇到這樣的問題,在他自己開髮的電腦上運行main.mdb時沒有問題,在彆人電腦上運行時齣現此錯誤:

"不能打開數據庫,因爲其中包含 VBA 項目不能讀取。首先刪除 VBA 項目的情況下,纔可以打開數據庫。刪除 VBA 項目中的所有代碼都刪除模塊、 窗體和報錶。應該嚐試打開該數據庫併刪除 VBA 項目之前備份您的數據庫。"



錯誤消息的主要內容是:"因爲不能讀取其中包含 VBA 項目,無法打開數據庫"

微軟官方相關的文章:
http://support.microsoft.com/kb/2581301/zh-cn,
http://support.microsoft.com/kb/2533794/zh-cn


原因主要是因爲VBA7.0版本問題。 卽這箇VBA7.0編繹生成的Accde在其牠VBE7.1或更高版本的電腦上運行會齣錯

現象重現:
1)如開髮繫統環境:
Windows 8 專業版
Microsoft Office 2010 企業版 V 14.0.6129.5000(32位)
VBE7 V 7.0.16.27

2)  客戶機繫統環境:
Windows 7
Access 2010 SP1

則Access數據庫文件編譯後,在開髮電腦上運行無問題。在相關客戶機上無法運行,齣現無法讀取VBA項目錯誤。無法運行。

解決辦法:


1.將舊版的VBA7.0替換成 VBA7.1或更高版本

網友MorningAir曾經提供一箇 VBA7.1版,請到這裡下載:

http://www.office-cn.net/thread-116518-1-1.html

2.直接安裝Office 2010 Sp1 補丁包更新一下

Office 2010 Sp1 補丁下載(包含瞭Access 2010 Sp1) :

下載: http://www.access-cn.com/download/836-cn.html


然後使用新的版本生成 mde 或 accde 卽可


註意:Access 2010 runtime 與 Access 2010 runtime sp1 也存在類似的問題。



其牠可能的原因是因爲你你的窗體對象或控件有中文名
1.把所有窗體上的控件名改爲英文,對應的事件要重新改一下
2.把窗體對象,如主體 窗體頁眉 頁腳改爲英文名
保證所有對象爲英文後.再重新在原電腦運行後正常後,再生成



相關Access技巧:

Access 2007 無法打開Access 2007 Sp1 或 Access 2010 或 Access 2013 或 Access 2016 版本創建的文件




分享