ADO Clone Method

Home | About me | EXCEL VB Programming (XL97-2003) | ACCESS Programming | EXCEL VB.Net Programming | EXCEL Spreadsheet Functions Material Management  |  Guestbook
 

ADO Clone Method

The Clone method allows you to create multiple copies, one at a time, of an existing Recordset object. In essence, this allows you to have two or more copies of a Recordset open for editing at the same time, unless you make the clones read-only. This method is much more efficient than creating, opening, and closing a new Recordset equal to the original.

When you clone a Recordset you actually just create a new pointer to the same Recordset, therefore any changes you make to one Recordset will be visible in all of its clones. However, if you execute a Requery on the original Recordset, the clones will no longer be synchronized to the original.

The provider must support bookmarks on the Recordset object to create clones. Bookmarks are interchangeable; a bookmark reference from one Recordset object refers to the same record in any of its clones.

Note: The filter of the original Recordset will not be applied to the clone. To copy an existing filter: objRecordsetNew.Filter=objRecordsetOriginal.Filter

Note: When you close the original Recordset none of the copies will be closed. You will have to close the clones one by one.

Syntax

Set objRecordsetClone=objRecordset.Clone(locktype)
 

Example


If objRecordset.Supports(adBookmark) = True Then
   Set objRecordsetClone = objRecordset.Clone(adLockReadOnly)
End If

There is one optional parameter

Parameter

Description

objRecordsetClone The clone Recordset to be created
objRecordset The Recordset to be cloned
locktype Optional. A LockTypeEnum value that specifies the lock type
 

LockTypeEnum Values

Constant Value

Description

adLockUnspecified -1 The clone is created with the same lock type as the original Recordset
adLockReadOnly 1 The clone is a read-only Recordset