强制Microsoft Access确认存在Microsoft Access ADE文件

时间:2017-02-21 21:47:06

标签: ms-access registry ms-access-2007 adp

以下是有关我本地开发计算机环境的详细信息: - Windows 7 Professional 64位操作系统 - Microsoft Office Access 2007(12.0.6735.5000)SP3 MSO(12.0.6743.5000)

在工作中,我收到了这3个用于为我们的某个应用程序生成报告的Microsoft Access文件:

  • ReportEngine.ade
  • ReportEngine.ADP
  • RptEngCore.ade

我有责任尝试理解与所述文件相关的代码和数据库架构。

主文件是ReportEngine.ADP文件。

我在Microsoft Office Access 2007中打开了ReportEngine.ADP,从而打开了Microsoft Visual Basic编辑器。

在Microsoft Visual Basic编辑器中,我导航并单击Debug - >编译ReportEngine,但它给出了以下错误:

"编译错误:无法找到项目或库"

然后,我导航并点击Run - >重启 接下来,我导航并单击工具 - >引用,我得到以下窗口屏幕:

Microsoft Access dialog windows missing reference ade file

我点击了"浏览..."在上面的对话窗口屏幕中显示,我指定文件RptEngCore.ade,这是我在此stackoverflow发布顶部的列表中提到的其他Microsoft Access文件之一。 不幸的是,它仍然提到通过再次显示上面显示的相同对话窗口屏幕来丢失所述文件。

我认为可以通过从Dos命令提示符注册RptEngCore.ade来解决错误。

我在管理员模式下运行了Dos命令提示符,并运行了64位版本的regsvr32注册命令: C:>%systemroot%\ SysWoW64 \ regsvr32 RptEngCore.ade

然而,它给了我以下信息:

Windows Registration file compatibility issue

我认为我可能需要运行32位版本的regsvr32注册命令:

C:>%systemroot%\ System32 \ regsvr32 RptEngCore.ade

我仍然收到上面显示的上述注册信息

有人可以告诉我如何让Microsoft Access承认RptEngCore.ade存在吗?

3 个答案:

答案 0 :(得分:1)

@ wayne-g-dunn和@danielg:谢谢你的帖子。

但是,当我升级到Microsoft Access 2010时,Microsoft Access 2010成功地看到了参考RptEngCore.ade依赖项。

我与原始开发人员交谈过,他们说他们使用Microsoft Access 2010开发/维护/支持应用程序。

答案 1 :(得分:0)

请查看以下Microsoft文章,该文章描述了“Access如何解析Visual Basic for Applications引用”这是一个解决您问题的分步说明。

https://support.microsoft.com/en-us/help/824255/how-access-resolves-visual-basic-for-applications-references

答案 2 :(得分:0)

ADE可能已损坏,或者主机文件中对它的引用预计会有不同的版本。当您引用ADE,MDE等时,Access会缓存有关它的信息。如果引用的文件发生变化,Access通常会感到困惑。其他基于VBA的产品不会这样做。

我会重新制作ADE,并重新引用它,如下所示:

打开ADP项目(RptEngCore.ADP)时,请确保项目名称是文件名,不带扩展名。从RptEngCore.ADP中的VBA编辑器转到工具>属性,并确保项目名称与您期望的相同。这是引用它后将显示为引用名称的内容,而不是文件本身的名称。您的代码可能使用完全限定的引用,如RptEngCore.MyMethod()。在具有正确权限的位置从RptEngCore.ADP创建ADE。打开需要引用新ADE的文件,并从引用窗口或VBA代码(References.Remove(name))中删除对它的现有引用。重要提示:NOw压缩并修复数据库,然后返回并从Reference窗口重新添加引用。