可以使用 CopyObject 操作将指定的数据库对象复制到其他 Access 数据库或以新名称复制到同一数据库。 例如,可以复制或备份另一个数据库中的现有对象,或者通过一些更改快速创建类似对象。
注意
如果数据库不受信任,则不允许执行此操作。 有关启用宏的详细信息,请参阅 决定是否信任数据库。
注意
CopyObject 宏操作在 Access Web 应用中不可用。
设置
CopyObject 操作具有下列参数。
| 操作参数 | 说明 |
|---|---|
| 目标数据库 | 目标数据库的有效路径和文件名。 在“宏生成器”窗口的“操作参数”部分的“目标数据库”框中输入路径和文件名。 如果要选择当前数据库,请将此参数留空。 如果在库数据库中运行包含 CopyObject 操作的宏,但将此参数留空,则 Access 会将该对象复制到库数据库中。 |
| 新名称 | 对象的新名称。 复制到其他数据库时,请将此参数留空以保持相同的名称。 |
| 源对象类型 | 要复制的对象类型。 单击“表”、“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“关系图”、“存储过程”或“函数”。 若要复制导航窗格中选择的对象,请将此参数留空。 |
| 源对象名称 | 要复制的对象的名称。 “ 源对象名称” 框显示“ 源对象类型 ”参数所选类型的数据库中的所有对象。 在 “源对象名称” 框中,选择要复制的对象。 如果将 “源对象类型 ”参数留空,此参数也留空。 如果在库数据库中运行包含 CopyObject 操作的宏,Access 将首先在库数据库中查找具有此名称的对象,然后在当前数据库中查找。 |
备注
必须为此操作的目标 数据库 和 新名称 参数中的一个或两个参数输入一个或两个参数的值。
如果将 “源对象类型” 和 “源对象名称 ”参数留空,Access 会复制在导航窗格中选择的对象。 若要在导航窗格中选择对象,可以使用 SelectObject 操作,并将“在导航窗格中”参数设置为 Yes。
CopyObject 操作类似于手动执行以下步骤:
- 在导航窗格中选择一个对象。
- 在“开始”选项卡上的“剪贴板”组中,单击“复制”。
- 在同一选项卡上,单击“ 粘贴”。
将显示“ 粘贴为 ”对话框,以便为对象指定新名称。 CopyObject 操作会自动执行所有这些步骤。
在宏运行 CopyObject 操作之前,目标数据库的路径和文件名必须存在。 如果不存在,Access 将显示一条错误消息。
若要在Visual Basic for Applications (VBA) 模块中运行 CopyObject 操作,请使用 DoCmd 对象的 CopyObject 方法。
您还可以通过单击“ 文件>”“另存为”来手动复制在导航窗格中选择的对象或当前打开的对象。 此命令将仅在当前数据库中创建对象的副本。 在“ 另存为” 对话框中,输入副本的名称,然后选择要将其保存为的对象类型。 如果原始对象已经保存,并且您以新名称将其保存在当前数据库中,则原始版本仍以其旧名称存在。
若要手动将对象复制到其他 Access 数据库,请执行以下操作:
- 在 “外部数据 ”选项卡的“ 导出 ”组中,单击 “更多 ”,然后单击 “Access 数据库”。
- 在“ 导出 - Access 数据库 ”对话框中,输入目标数据库的文件名。
-或者-
单击“ 浏览 ”显示 “文件保存 ”对话框,找到目标数据库,然后单击“ 保存”。 - 在“ 导出 - Access 数据库” 对话框中,单击“ 确定”。 将显示 “导出 ”对话框。
- 在“ 导出 ”对话框中,输入目标数据库中的对象名称。 选择任何适用选项,例如导出定义和数据或仅表定义。 完成后,请单击“确定”。