ACCESS里打开某数据库后如何用VBA引用表、记录及字段值

如题所述

第1个回答  2013-12-11
为此,请按照下列步骤操作: 启动 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”。本回答被提问者采纳
相似回答