Access2016由於無法讀取數據庫中所含的VBA工程,因此無法打開此數據庫。隻有先刪除VBA工程,然後纔能打開數據庫

2017-10-14 22:55:00
zstmtony
原創
6310

從國慶節前幾箇企業客戶的反饋以及最近網友的報料,髮現Access2016最近幾次更新導緻一箇較大的烏龍(大Bug), 這箇Bug可能會導緻網友誤判,從而以爲自己的數據庫VBA工程損壞而不斷修複或重新推倒重做數據庫,浪費大量的時間。

這幾天不少QQ用戶也在群裡不斷諮詢這箇問題,髮現有必要寫一篇解決辦法的教程:


最近Access2016經常打開一些Access數據庫文件(mdb 或Accdb),會提示以下錯誤:

由於無法讀取數據庫中所含的VBA工程,因此無法打開此數據庫。隻有先刪除VBA工程,然後纔能打開數據庫。刪除VBA工程將衕時從模塊、窗體及報錶中刪除所有代碼。在試圖打開數據庫併刪除 VBA 工程前,應先對數據庫進行備份。
若要創建一份備份副本,請單擊"取消",然後備份數據庫。若要在不創建備份副本的情況下打開數據庫併刪除 VBA 工程,請單擊"確定"


而使用Access2013 ,Access2010 甚至 Access2003打開衕一箇文件則正常


這是由於Access2016最近更新烏龍導緻的


可能齣錯的Access2016的版本

Microsoft Access 2016 MSO (16.0.8431.2046) 32位


隻要最近的Access2016常會齣現這箇問題,是由於windows自動更新後導緻access的vba編譯器版本齣現故障造成的問題,需要再從微軟官方更新一下office補丁。微軟現在對Access是越來越不上心瞭,且常常更新導緻很多烏龍,前段時間Access2016已經齣現過好幾次bug瞭


使用帳戶-更新選項-立卽更新 一下卽可





更新後打開衕一箇文件則完全正常瞭,不過更新後,版本號併沒有變更,所未更新前版本號(小版本號)是一樣的

還是 Microsoft Access 2016 MSO (16.0.8431.2046) 32位, 但VBA工程齣錯的問題解決瞭。


需要註意的事,這箇更新過程時間會有點久,在更新過程中單擊繼續後,還需要等待一段時間,如果馬上打開Excel word 或Access

會提示以下錯誤:

office 2016  應用程序無法正常啟動(0cx0000022),請單擊“確定”關閉應用程序

隻鬚耐心再等待幾分鐘,再打開就正常瞭。



另一種可能就是在英文環境下打開中文製作的Access數據庫也會齣現這箇故障

這是因爲中英文繫統變化引起,中文繫統做的程序到英文繫統會齣現這箇問題
解決辦法.
1、換成對應的語言的繫統及對應語言的Office,
2,在英文繫統重新設計相關窗體,將錶 查詢 窗體 報錶 模塊中使用的各種變量 窗體節名 控件名全部改爲英文卽可
3、齣現這箇提示後選取消,再操作幾次,有可能不再齣現,對有問題的功能重新設計

一般養成習慣,所有對象名(錶名 查詢名 窗體名 報錶名 模塊名 節名) 變量名 盡量使用英文。一般都可杜絶這類問題。


還有一種情況是 VBA代碼的確損壞瞭。這種則要對Access數據庫進行修複瞭。



下麵有一篇如何避免Access數據庫損壞的經驗 之談:

http://www.office-cn.net/access-develop/389.html


説起來,Office2016真不讓人省心,最近bug不斷。我們都在敢微軟的小白鼠。


Access2016的其牠幾箇bug:
Access2016的另一箇bug, 窗體控件的組閤框(下拉框)行來源受錶的查閲的屬性設置影響

Access2016打開包含有Treeview樹控件的mdb數據庫齣錯-您沒有使用該Activex控件的許可

    分享