强制 Microsoft Access 确认存在 Microsoft Access ADE 文件
Forcing Microsoft Access to acknowledge that the a Microsoft Access ADE file exists
以下是我的本地开发计算机环境的详细信息:
- Windows 7 专业 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 --> Compile ReportEngine ,但出现以下错误:
"Compile error: Can't find project or library"
然后,我导航并单击 运行 --> 重置
接下来,我导航并单击 Tools --> References ,我得到以下 Window Screen:
Microsoft Access dialog windows missing reference ade file
我单击上面对话框 window 屏幕中显示的 "Browse...",然后指定文件 RptEngCore.ade,它是我在在此 Whosebug 帖子的顶部列出。
不幸的是,它仍然通过再次显示上面显示的相同对话框 window 屏幕来提到该文件丢失。
我认为可以通过在 Dos 命令提示符下注册 RptEngCore.ade 来解决错误。
我运行管理员模式下的Dos命令提示符,以及运行64位版本的regsvr32注册命令:
C:>%systemroot%\SysWoW64\regsvr32RptEngCore.ade
但是,它给了我以下信息:
Windows Registration file compatibility issue
我想我可能需要运行32位版本的regsvr32注册命令:
C:>%systemroot%\System32\regsvr32 RptEngCore.ade
我仍然收到上面显示的上述注册消息
有人可以告诉我如何让 Microsoft Access 确认 RptEngCore.ade 存在吗?
请查看以下描述 'How Access resolves Visual Basic for Applications references' 的 Microsoft 文章,这是一个应该可以解决您的问题的分步说明。
ADE 可能已损坏,或者主机文件中对它的引用需要不同的版本。当您引用 ADE、MDE 等时,Access 会缓存有关它的信息。如果引用的文件发生变化,Access 常常会感到困惑。其他基于 VBA 的产品不会这样做。
我会重新制作 ADE,并重新引用它,如下所示:
当您打开 ADP 项目 (RptEngCore.ADP) 时,请确保项目名称是文件名,不带扩展名。在 RptEngCore.ADP 中的 VBA 编辑器中,转到工具 > 属性,并确保项目名称与您预期的相同。这是您引用后将显示为引用名称的内容,而不是文件本身的名称。您的代码可以使用完全限定的引用,例如 RptEngCore.MyMethod()。在具有正确权限的位置从 RptEngCore.ADP 创建 ADE。打开需要引用新 ADE 的文件,并从引用 window 或 VBA 代码 (References.Remove(name)) 中删除对它的现有引用。重要提示:现在压缩并修复数据库,然后返回并重新添加引用 window.
中的引用
@wayne-g-dunn 和@danielg:感谢您的帖子。
但是,当我升级到 Microsoft Access 2010 时,引用 RptEngCore.ade 依赖项已被 Microsoft Access 2010 成功识别。
我与原始开发人员交谈,他们说他们develop/maintain/support 使用 Microsoft Access 2010 的应用程序。
以下是我的本地开发计算机环境的详细信息: - Windows 7 专业 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 --> Compile ReportEngine ,但出现以下错误:
"Compile error: Can't find project or library"
然后,我导航并单击 运行 --> 重置 接下来,我导航并单击 Tools --> References ,我得到以下 Window Screen:
Microsoft Access dialog windows missing reference ade file
我单击上面对话框 window 屏幕中显示的 "Browse...",然后指定文件 RptEngCore.ade,它是我在在此 Whosebug 帖子的顶部列出。 不幸的是,它仍然通过再次显示上面显示的相同对话框 window 屏幕来提到该文件丢失。
我认为可以通过在 Dos 命令提示符下注册 RptEngCore.ade 来解决错误。
我运行管理员模式下的Dos命令提示符,以及运行64位版本的regsvr32注册命令: C:>%systemroot%\SysWoW64\regsvr32RptEngCore.ade
但是,它给了我以下信息:
Windows Registration file compatibility issue
我想我可能需要运行32位版本的regsvr32注册命令:
C:>%systemroot%\System32\regsvr32 RptEngCore.ade
我仍然收到上面显示的上述注册消息
有人可以告诉我如何让 Microsoft Access 确认 RptEngCore.ade 存在吗?
请查看以下描述 'How Access resolves Visual Basic for Applications references' 的 Microsoft 文章,这是一个应该可以解决您的问题的分步说明。
ADE 可能已损坏,或者主机文件中对它的引用需要不同的版本。当您引用 ADE、MDE 等时,Access 会缓存有关它的信息。如果引用的文件发生变化,Access 常常会感到困惑。其他基于 VBA 的产品不会这样做。
我会重新制作 ADE,并重新引用它,如下所示:
当您打开 ADP 项目 (RptEngCore.ADP) 时,请确保项目名称是文件名,不带扩展名。在 RptEngCore.ADP 中的 VBA 编辑器中,转到工具 > 属性,并确保项目名称与您预期的相同。这是您引用后将显示为引用名称的内容,而不是文件本身的名称。您的代码可以使用完全限定的引用,例如 RptEngCore.MyMethod()。在具有正确权限的位置从 RptEngCore.ADP 创建 ADE。打开需要引用新 ADE 的文件,并从引用 window 或 VBA 代码 (References.Remove(name)) 中删除对它的现有引用。重要提示:现在压缩并修复数据库,然后返回并重新添加引用 window.
中的引用@wayne-g-dunn 和@danielg:感谢您的帖子。
但是,当我升级到 Microsoft Access 2010 时,引用 RptEngCore.ade 依赖项已被 Microsoft Access 2010 成功识别。
我与原始开发人员交谈,他们说他们develop/maintain/support 使用 Microsoft Access 2010 的应用程序。