返回首页
当前位置: 主页 > 其他教程 > Access教程 >

Access2003如何解析 VBA引用

时间:2012-02-18 01:18来源:Office教程学习网 www.office68.com编辑:麦田守望者

本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。 概要 本文介绍 Microsoft Office Access 2003 为解析 Microsoft Visual Basic for Applications (VBA) 中的引用所执行的一系列任务。 更多信息警告 注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

在 Access 2003 中,您可以使用 Visual Basic 编辑器查看当前选择的 VBA 引用。为此,请按照下列步骤操作: 启动 Access 2003。 打开一个 Access 数据库。 按 ALT+F11 打开 Visual Basic 编辑器。 在 Visual Basic 编辑器窗口中,单击“工具”菜单上的“引用”。

在“引用”对话框中,您可以看到所选的引用。注意 当选择了一个引用后,您还可以查看有关使用该引用必须加载的文件的信息。

相关文件可能是类型库、对象库或控件库。每个引用的相关文件会根据“引用”对话框中显示的信息进行加载。但是,如果找不到相应的文件,Access 2003 将在计算机上的其他位置搜索它。

对于所选的每个 VBA 引用,Access 2003 都会执行以下任务: Access 验证是否已加载了引用的文件。 如果当前未加载引用的文件,Access 将验证 RefLibPaths 注册表项是否存在。

如果 RefLibPaths 注册表项存在,Access 将搜索与引用具有相同名称的命名值。如果有匹配的命名值,则 Access 将从命名值中提及的路径加载引用。

注意 您可以将 RefLibPaths 注册表项手动添加到注册表中,然后可以添加 RefLibPaths 注册表项下任何外接程序或任何库的名称和位置。为此,请按照下列步骤操作。 单击“开始”,然后单击“运行”。 在“打开”框中,键入 regedit,然后单击“确定”。 在“注册表编辑器”窗口中,找到以下注册表项:

HKEY_LOCAL_MACHINE\Software\Microsoft\Office\11.0\Access 右键单击“Access”注册表项,指向“新建”,然后单击“项”。 将新创建的项命名为 RefLibPaths。 单击“RefLibPaths”。 右键单击右窗格中的任意位置,然后单击“字串值”。 使用与 VBA 引用相同的名称命名新创建的字符串值。 右键单击您在第 8 步中创建的字符串值,然后单击“修改”。 在“编辑字符串”对话框中,键入必须加载的文件的位置以与 VBA 中的引用对应。

注册表值名称必须是文件名加扩展名。位置(数值数据)必须是路径加文件名。例如,如果设置对 Northwind 示例数据库的引用,则可以添加以下值: 数值名称:Northwind.mdb 数值数据:C:\Program Files\Microsoft Office\Office11\Samples\Northwind.mdb 重复第 7 步到第 10 步,将适当的外接程序或库的名称和位置作为字符串值添加。 在“文件”菜单上,单击“退出”。 如果 RefLibPaths 注册表项不存在或未包含正确的引用,则 Access 使用“SearchPath”API 搜索引用的文件。将执行以下搜索: 搜索范围 说明 应用程序目录 Msaccess.exe 的位置。 当前目录 在“文件”菜单上单击“打开”时所看到的目录。 系统目录 Windows 文件夹或 WINNT 文件夹中的 System 文件夹和 System32 文件夹。 WinDir 操作系统文件在其中运行的文件夹。这通常是 Windows 文件夹或 WINNT 文件夹。 PATH 环境变量 此系统变量包含系统可直接访问的一组文件夹。

Microsoft Windows NT 4.0:在控制面板中,双击“系统”,然后单击“环境”选项卡。PATH 变量显示在“系统变量”列表中。

Microsoft Windows 2000 或 Microsoft Windows Server 2003:在控制面板中,双击“系统”,单击“高级”选项卡,然后单击“环境变量”。PATH 显示在“系统变量”列表中。 文件目录 包含 .mdb 文件、.mde 文件、.adp 文件或 .ade 文件的文件夹和任何子文件夹。注意 如果您要引用的文件位于上表中提到的任何目录中,则 Access 不需要 RefLibPaths 注册表项。

如果 Access 2003 无法找到相关引用,当您编译项目或尝试运行某个过程时,将收到以下错误信息:


Your Microsoft Office Access database or project contains a missing or broken reference to the file file name.

* To ensure that your database or project works properly, you must fix this reference.
注意 在数据库已打开的情况下,对于每个无法找到的引用,您都会收到一次前面提及的错误信息。

例如,如果您打开了 MyDatabase.mdb 并且 MyDatabase.mdb 丢失了对 Microsoft Calendar 控件和 Microsoft DAO 库的引用,则您会收到两条错误信息,丢失的每个引用对应一条错误信息。如果您未修复这些引用,那么当您关闭数据库然后再重新打开时,您将再次收到这些错误信息。如果您修复了这些引用并保存了数据库,则下次打开该数据库时就不会收到这些错误信息了。

BrokenReference 属性

Access 的 Application 对象具有一个 BrokenReference 属性,该属性可以告诉您是否有任何引用出现了错误。若要检查 BrokenReference 属性,请按照下列步骤操作: 启动 Access 2003。 打开一个 Access 数据库。 按 ALT+F11 打开 Visual Basic 编辑器。 按 CTRL+G 组合键打开“立即”窗口。 在“立即”窗口中,键入以下命令,然后按 Enter 键:

?Application.BrokenReference

请注意,如果存在丢失的引用,Application 对象的 BrokenReference 属性将返回“True”。否则,BrokenReference 属性将返回“False”。

------分隔线----------------------------
标签(Tag):access access数据库 数据库 access视频教程 access教程 access技巧 access下载
------分隔线----------------------------
推荐内容
猜你感兴趣