Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает повторяющийся объект Recordset из существующего объекта Recordset . При необходимости указывает, что клон должен быть только для чтения.
Синтаксис
Set rstDuplicate = rstOriginal.Clone (LockType)
Возвращаемое значение
Возвращает ссылку на объект Recordset .
Параметры
rstDuplicate
Переменная объекта, идентифицирующая созданный объект повторяющегося набора записей .
rstOriginal
Переменная объекта, идентифицирующая объект Recordset , который будет дублироваться.
Тип замка
Необязательно. Значение LockTypeEnum , указывающее тип блокировки исходного набора записей или набор записей только для чтения. Допустимые значения: adLockUnspecified или adLockReadOnly.
Замечания
Используйте метод Clone для создания нескольких повторяющихся объектов Recordset , особенно если требуется сохранить несколько текущих записей в заданном наборе записей. Использование метода Clone является более эффективным, чем создание и открытие нового объекта Recordset , использующего то же определение, что и исходное.
Свойство Filter исходного набора записей, если таковой отсутствует, не будет применено к клону. Задайте свойство Filter нового набора записей , чтобы отфильтровать результаты. Самый простой способ скопировать любое существующее значение фильтра — назначить его напрямую, как показано ниже.
rsNew.Filter = rsOriginal.Filter
Текущая запись только что созданного клона устанавливается на первую запись.
Изменения, внесенные в один объект Recordset , отображаются во всех его клонах независимо от типа курсора. Однако после выполнения requery в исходном наборе записей клоны больше не будут синхронизированы с исходным.
Закрытие исходного набора записей не закрывает его копии, и закрытие копии не закрывает исходный или любую из других копий.
Клонировать объект Recordset, поддерживающий закладки, можно клонировать только объект Recordset . Значения закладок взаимозаменяемы; То есть ссылка на закладки из одного объекта Recordset ссылается на ту же запись в любом из его клонов.
Некоторые события набора записей , которые активируются, также будут возникать во всех клонах набора записей . Однако, поскольку текущая запись может отличаться от клонированных наборов записей, события могут быть недопустимыми для клона. Например, если изменить значение поля, событие WillChangeField будет происходить в измененном наборе записей и во всех клонах. Параметр Fields события WillChangeField клонированного набора записей (где изменение не было сделано) будет ссылаться на поля текущей записи клона, которая может отличаться от текущей записи исходного набора записей, в которой произошло изменение.
В следующей таблице представлен полный список всех событий Набора записей . Он указывает, являются ли они допустимыми и активируются для любых клонов набора записей, созданных с помощью метода Clone.
| Событие | Активируется в клонах? |
|---|---|
| EndOfRecordset | нет |
| FetchComplete | нет |
| ИзвлечениеProgress | нет |
| FieldChangeComplete | Да |
| MoveComplete | нет |
| RecordChangeComplete | Да |
| RecordsetChangeComplete | нет |
| WillChangeField | Да |
| WillChangeRecord | Да |
| WillChangeRecordset | нет |
| WillMove | нет |
Применимо к
См. также
Пример метода Клонирования (VB)
Пример метода Clone (VBScript)
Пример метода Clone (VC++)