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

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

從“不能打開數據庫,因為其中包含 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.guizmj.live/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 版本創建的文件




分享
北京十一选五基本走势