无法打开数据库,因为无法读取 VBA

Posted

技术标签:

【中文标题】无法打开数据库,因为无法读取 VBA【英文标题】:The database cannot be opened because the VBA cannot be read 【发布时间】:2017-11-13 13:44:13 【问题描述】:

我在运行 Windows 7 32 位的 Toshiba Satellite Pro 上有一个 Access,2007 – 2016,accdb 数据库。我正在使用 MS Office 365。

在其主页打开的数据库,但任何打开表、表单或模块的尝试都会显示此消息:

“无法打开数据库,因为其中包含的 VBA 项目无法读取……”

我有这个数据库的 2 个备份,但它们的作用相同。

我在网上看了几篇帖子都说可以通过反编译数据库来解决这个问题。

我已经尝试过 VBS Script 解决方案,包含在:

How does one decompile and recompile a database application?

但是,当 .vbs 文件打开数据库时,它不会被反编译。

我已经阅读了一些其他表明 VBA7 文件存在问题的帖子,但这些都是指 Access 2010,所以我不知道它们是否也适用于我。顺便说一句,我有 VBA7.1。

通过命令提示符进行反编译的尝试有其自身的问题,这些问题似乎与带有空格的文件名有关。

所以,我被困住了。任何帮助将不胜感激

【问题讨论】:

尝试创建新数据库并复制旧数据库中的所有对象 我试过了,但是任何粘贴、导入或导出命令都会显示相同的消息。 “无法打开数据库...” 【参考方案1】:

我在工作中遇到了同样的错误,您是否尝试过按住 shift 键并打开?我知道这似乎很明显,我所做的是我在安全模式下打开了数据库,并在 vba 编辑器中打开了一个模块,并试图解决有问题的代码,如果有的话,你可以在将它们复制到后删除所有模块记事本。

我还右键单击并从 Windows 恢复了以前的版本,我不确定当你说你必须备份时你是否尝试过这个,但我不知道这个修复,幸运的是我上周有一个修复的版本我的问题。

【讨论】:

感谢 Bluestreak 我尝试了您的建议,但无济于事。你的回复也让我找到了修复数据库的方法,开始/控制面板/程序和功能/点击Office 365/在线修复,我昨晚试过了,没用。我也在 MS Access 数据库引擎上做了类似的过程,也没有成功。我会寻找可以真正修复accdb文件的东西。

以上是关于无法打开数据库,因为无法读取 VBA的主要内容,如果未能解决你的问题,请参考以下文章

如果首先打开工作表,vb.net 无法读取 excel 工作表

通过 Access 2013 VBA 编辑后无法打开 Excel 2013 文件

VBA 有时无法识别通过 SAP GUI 脚本打开的 Excel 文件

请问怎么修复excel?打开文件提示说“发现不可读取的内容”

VBA 无法打开包含动态名称的备份文件

VBA 无法识别我已经打开的工作簿