在具有丢失的引用的数据库中 VBA 函数中断

文章翻译 文章翻译
文章编号: 283806 - 查看本文应用于的产品
中级用户:要求具备基本的宏、编码和互操作技能。

本文适用于 Microsoft Access 数据库 (.mdb) 和 Microsoft Access 项目 (.adp)。

有关本文的 Microsoft Access 2000 版本,请参阅 208218
展开全部 | 关闭全部

本文内容

症状

如果您有一个包含 Visual Basic for Applications 函数的过程,并且您的数据库包含对丢失的对象库或类型库的引用,当您编译模块或运行该过程时,您可能会收到下列错误信息之一:
Your Microsoft Access database or project contains a missing or broken reference to the file <filename>.

* To ensure that your database or project works properly, you must fix this reference.

* To learn how to fix this reference, click Help.
- 或 -
Compile Error :
Can't find project or library

原因

您的数据库包含一个对数据库、类型库或对象库的引用,该被引用的库文件在引用对话框中被标记为丢失:<引用名称>

解决方案

要删除丢失的引用,请按照下列步骤操作:
  1. 打开您的数据库。
  2. 按 Alt+F11 打开 Visual Basic 编辑器。
  3. 工具菜单上,单击引用
  4. 单击以清除被标记为丢失:<引用名称> 的类型库或对象库的复选框。
删除该引用的另一种方法是将被引用的文件恢复到引用对话框中指定的路径。如果被引用的文件位于一个新位置,清除丢失:<引用名称> 引用,然后创建一个对新文件夹中的文件的新引用。

注意:在 Access 运行时应用程序中,您不能从菜单中查看引用。不过,下面的文章演示了如何使用代码来查看引用:
209849 ACC2000:How to Loop Through References to View Their Properties

更多信息

重现此问题的步骤

  1. 打开示例数据库 Northwind.mdb。
  2. 创建一个不基于任何表或查询的新窗体。
  3. 插入菜单上,单击 ActiveX 控件
  4. 在“请选择 ActiveX 控件”列表中,单击“Kodak 图像编辑控制”,然后单击确定
  5. 将该窗体保存为 frmReference,然后将其关闭。
  6. 关闭 Northwind.mdb,然后退出 Access。
  7. 找到 ImgEdit.ocx 文件并将其重命名为 ImgEdit.old。
  8. 启动 Access,然后打开 Northwind.mdb。
  9. 在“设计”视图中打开启动模块。
  10. 调试菜单上,单击编译 Northwind。您将会看到本文的“症状”一节提到的两个错误信息。
  11. 单击确定。您将会看到出现引用对话框;以下引用在可使用的引用对话框中被突出显示:
    MISSING: Kodak Image Edit Control
    					
  12. 可使用的引用对话框中,单击取消
  13. 找到 ImgEdit.old 文件并将其重命名为 ImgEdit.ocx。
  14. 重复步骤 10,您将会看到错误信息不再出现。

参考

有关可能导致出现第一条错误信息的其他问题的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
275110 ACC2002:"Undefined Function in Expression" Error Message When You Open a Query That References a Function

属性

文章编号: 283806 - 最后修改: 2013年7月16日 - 修订: 6.2
这篇文章中的信息适用于:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 标准版
  • Microsoft Excel 2002 标准版
  • Microsoft Word 2002 标准版
关键字:?
kbproductlink kberrmsg kbprb KB283806
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com