DoCmd CopyObject in Access Visual Basic


Access Docmd CopyObject Method Example

Docmd.CopyObject allows you to copy any database object.

The command syntax and command line options are explained below:

Access docmd copyobject
(line below is a continuation of line above)
Access Docmd CopyObject VBA Code
DestinationDatabase Optional Variant. A string expression that’s the valid path and file name for the DB you want to copy the object into. To select the current database, leave this argument blank.
Note: In a Microsoft Access project (.adp) you must leave the destination object argument blank.

NewName Optional Variant. A string expression that’s the new name for the object you want to copy. To use the same name if you are copying into another DB, leave this argument blank.

SourceObjectType Optional AcObjectType.

AcObjectType can be one of these AcObjectType constants.
acDefault default

SourceObjectName Optional Variant. A string expression that’s the valid name of an object of the type selected by the sourceobjecttype argument. If you run Visual Basic code containing the CopyObject method in a library database, Microsoft Access looks for the object with this name first in the library database, then in the current database.

You must include either the destinationdatabase or newname argument or both for the Access docmd copyobject method.

If you leave the sourceobjecttype and sourceobjectname arguments blank (the default constant, acDefault, is assumed for sourceobjecttype), Microsoft Access copies the object selected in the Database window. To select an object in the Database window, you can use the SelectObject action or SelectObject method with the In Database Window argument set to Yes (True).

If you specify the sourceobjecttype and sourceobjectname arguments but leave either the newname argument or the destinationdatabase argument blank, you must include the newname or destinationdatabase argument’s comma. If you leave a trailing argument blank, don’t use a comma following the last argument you specify.

The following example uses the Access DoCmd CopyObject method to copy the Employees table and give it a new name in the current database:

DoCmd.CopyObject, “M_Employees_Copy”, acTable, “M_Employees”


Microsoft Office VBA, MS Access 2003, 2007, 2010, 2013, 2016