使用 CopyObject 操作,可以将指定的数据库对象复制到另外一个 Microsoft Access 数据库 (.mdb) 中,或以新的名称复制到同一数据库或 Access 项目 (.adp) 中。例如,可以在另一个数据库中复制或备份一个已有的对象,也可以快速地创建一个略有更改的相似对象。
CopyObject 操作具有下列参数:
目标数据库
目标数据库的有效路径和文件名称。在“宏”窗口“操作参数”部分的“目标数据库”框中输入路径和文件名称。如果要选择当前的数据库,则将此参数留空。
如果在某个类库数据库中执行包含 CopyObject 操作的宏,并且将此参数留空,Access 就会把对象复制到该类库数据库中。
新名称
对象的新名称。在将对象复制到不同的数据库时,如果将此参数留空,可使对象保留原来的名称不变。
源对象类型
要复制的对象类型。可单击“表”、“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。若要复制“数据库”窗口中选定的对象,则将此参数留空。
源对象名称
要复制的对象的名称。“源对象名称”框中显示了数据库中由“源对象类型”参数选择的类型的全部对象。在“源对象名称”框中,单击要复制的对象。如果“源对象类型”参数为空,则也请将本参数留空。
如果在某个类库数据库中执行包含 CopyObject 操作的宏,Access 将首先在该类库数据库中查找具有该名称的对象,然后再到当前数据库中查找。
说明:使用该操作时,必须至少为“目标数据库”和“新名称”参数中的一个参数输入值。如果将“源对象类型”和“源对象名称”参数留空,Access 将复制“数据库”窗口中选定的对象。若要在“数据库”窗口中选择对象,可以使用 SelectObject 操作,并将“在‘数据库’窗口中”参数设为“是”。
CopyObject 操作与下列行为相类似:在“数据库”窗口中选择对象,单击“编辑”菜单上的“复制”,然后单击“编辑”菜单上的“粘贴”。在随后出现的“粘贴为”对话框中,可以为该对象指定一个新名称。CopyObject 操作会自动执行所有这些步骤。
注意 当复制数据访问页时,CopyObject 操作仅复制指向相关 .htm 文件的链接而不是实际的 .htm 文件。
另外,也可以通过单击“文件”菜单上的“另存为/导出”,来复制“数据库”窗口中选定的对象,或“表”窗口、“查询”窗口、“窗体”窗口、“报表”窗口、“宏”窗口或“代码”窗口中打开的对象。在“另存为”对话框中可以选择是在当前数据库中以新名称保存对象副本,还是在另一个数据库中保存该对象。如果该对象已经保存过,而在当前数据库中又以新的名称保存,那么原来的对象仍以原有名称存在。
目标数据库的路径和文件名称必须在宏运行 CopyObject 操作之前已经存在。如果不存在,Access 将显示错误信息。
若要在 Visual Basic 中运行 CopyObject 操作,请使用 DoCmd 对象的 CopyObject 方法。