CopyObject 宏操作

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

可以使用 CopyObject 操作将指定的数据库对象复制到其他 Access 数据库或以新名称复制到同一数据库。 例如,可以复制或备份另一个数据库中的现有对象,或者通过一些更改快速创建类似对象。

注意

如果数据库不受信任,则不允许执行此操作。 有关启用宏的详细信息,请参阅 决定是否信任数据库。

注意

CopyObject 宏操作在 Access Web 应用中不可用。

设置

CopyObject 操作具有下列参数。

操作参数 说明
目标数据库 目标数据库的有效路径和文件名。 在“宏生成器”窗口的“操作参数”部分的“目标数据库”框中输入路径和文件名。 如果要选择当前数据库,请将此参数留空。
如果在库数据库中运行包含 CopyObject 操作的宏,但将此参数留空,则 Access 会将该对象复制到库数据库中。
新名称 对象的新名称。 复制到其他数据库时,请将此参数留空以保持相同的名称。
源对象类型 要复制的对象类型。 单击“表”、“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“关系图”、“存储过程”或“函数”。 若要复制导航窗格中选择的对象,请将此参数留空。
源对象名称 要复制的对象的名称。 “ 源对象名称” 框显示“ 源对象类型 ”参数所选类型的数据库中的所有对象。 在 “源对象名称” 框中,选择要复制的对象。 如果将 “源对象类型 ”参数留空,此参数也留空。
如果在库数据库中运行包含 CopyObject 操作的宏,Access 将首先在库数据库中查找具有此名称的对象,然后在当前数据库中查找。

备注

必须为此操作的目标 数据库 和 新名称 参数中的一个或两个参数输入一个或两个参数的值。

如果将 “源对象类型” 和 “源对象名称 ”参数留空,Access 会复制在导航窗格中选择的对象。 若要在导航窗格中选择对象,可以使用 SelectObject 操作,并将“在导航窗格中”参数设置为 Yes。

CopyObject 操作类似于手动执行以下步骤:

  1. 在导航窗格中选择一个对象。
  2. 在“开始”选项卡上的“剪贴板”组中,单击“复制”。
  3. 在同一选项卡上,单击“ 粘贴”。
    将显示“ 粘贴为 ”对话框,以便为对象指定新名称。 CopyObject 操作会自动执行所有这些步骤。

在宏运行 CopyObject 操作之前,目标数据库的路径和文件名必须存在。 如果不存在,Access 将显示一条错误消息。

若要在Visual Basic for Applications (VBA) 模块中运行 CopyObject 操作,请使用 DoCmd 对象的 CopyObject 方法。

您还可以通过单击“ 文件>”“另存为”来手动复制在导航窗格中选择的对象或当前打开的对象。 此命令将仅在当前数据库中创建对象的副本。 在“ 另存为” 对话框中,输入副本的名称,然后选择要将其保存为的对象类型。 如果原始对象已经保存,并且您以新名称将其保存在当前数据库中,则原始版本仍以其旧名称存在。

若要手动将对象复制到其他 Access 数据库,请执行以下操作:

  1. 在 “外部数据 ”选项卡的“ 导出 ”组中,单击 “更多 ”,然后单击 “Access 数据库”。
  2. 在“ 导出 - Access 数据库 ”对话框中,输入目标数据库的文件名。
    -或者-
    单击“ 浏览 ”显示 “文件保存 ”对话框,找到目标数据库,然后单击“ 保存”。
  3. 在“ 导出 - Access 数据库” 对话框中,单击“ 确定”。 将显示 “导出 ”对话框。
  4. 在“ 导出 ”对话框中,输入目标数据库中的对象名称。 选择任何适用选项,例如导出定义和数据或仅表定义。 完成后,请单击“确定”。