Microsoft Access显示"缺少APSBrowsePanes.dll"启动时出错。 (虚拟机)

时间:2016-09-30 08:44:14

标签: windows-7 access-vba virtual-machine

历史和情况

我一直在为我的雇主开发Access数据库。最初我的工作PC(Windows 7)安装了Office XP,因此我的第一个数据库是以Access 2002-2003文件格式开发的。后来Office 2013安装在我的机器上,这使我无法正确编辑和编译数据库,因为它只会因为缺少.dll而导致数据库崩溃。启动时出错。为了解决这个问题,我提供了一台旧的Windows XP机器,它仍然安装了办公室XP,当我需要对我的旧产品进行维护或修改时,我可以使用它(.mde文件在新版本的Office中仍然运行良好,一旦修改和编译)。

不幸的是,Windows XP机器现在已经遭遇终端硬件故障。为了尝试恢复我的维护功能,我已经提供了功能更强大的PC(仍然是Windows 7)并且已经使用VirtualBox设置了Windows 7 VM,只安装了Office XP,以便在Office之前尝试模拟我的旧工作PC 2013年安装在它上面。

问题

当我尝试在我的虚拟机上打开2002-2003格式数据库(.mdb)时,我遇到了可怕的缺失.dll'再次出错。数据库将显示错误,然后Access将完全冻结。即使打开数据库并按住 Shift 键,也只允许我打开文件。如果我尝试打开VBA IDE,则会出现错误,然后Access将冻结。

补充说明:我发现它似乎并不总是APSBrowsePanes.dll。另一个数据库收到相同的错误,但声称缺少的引用是MSOUTL.OLB

在Google上搜索类似问题建议修复Office安装,我试过这个没有效果。使用'压缩和修复数据库'在按下 Shift 键打开数据库后,Access中的选项也没有帮助,它只显示一条消息,说明数据库在修复后已经损坏,并且代码通常是任何时候执行。

如何解决此问题,或者是否有其他选项可用于编辑和编译2002-2003格式的数据库?

1 个答案:

答案 0 :(得分:2)

您的问题似乎是数据库损坏和损坏的引用的组合。

您需要将数据库置于可以打开VBA编辑器的状态,打开“引用”对话框并删除可能导致问题的所有内容。

有关参考资料的信息,请参阅http://allenbrowne.com/ser-38.htmlhttp://www.accessmvp.com/djsteele/AccessReferenceErrors.html

为此,我建议您在Office XP VM上执行以下步骤:

  1. Decompile数据库,按照信函的步骤1到6进行操作。

  2. 如果这样做无效,请尝试将所有对象导入新数据库,请参阅http://allenbrowne.com/ser-47.html(在“症状:无法打开表单或报告”下)。

  3. 如果您能够删除损坏的引用,则可能必须将某些代码从早期绑定更改为后期绑定,请参阅How to refer to Excel objects in Access VBA?Preventing Excel VBA compile errors due to users having an older version of MS Office (MS Outlook) installed?