Метод клонирования (ADO)
Область применения: Access 2013, Office 2013
Создает повторяющийся объект Recordset из существующего объекта Recordset . При необходимости указывает, что клон будет доступен только для чтения.
Синтаксис
ЗадайтеrstDuplicate = rstOriginal. Клонирование (LockType)
Возвращаемое значение
Возвращает ссылку на объект Recordset .
Параметры
Параметр | Описание |
---|---|
rstDuplicate | Переменная объекта, идентифицирующая создаваемый повторяющийся объект Recordset . |
rstOriginal | Переменная объекта, которая определяет дублируемый объект Recordset . |
LockType | Необязательный параметр. Значение LockTypeEnum , указывающее тип блокировки исходного набора записей или набор записей только для чтения. Допустимые значения: adLockUnspecified или adLockReadOnly. |
Замечания
Метод Clone используется для создания нескольких повторяющихся объектов Recordset , особенно если требуется сохранить несколько текущих записей в заданном наборе записей. Использование метода Clone эффективнее, чем создание и открытие нового объекта Recordset с тем же определением, что и исходный.
Свойство Filter исходного набора записей, если оно есть, не будет применено к клону. Задайте свойство Filter нового набора записей , чтобы отфильтровать результаты. Самый простой способ скопировать любое существующее значение фильтра — назначить его напрямую, как показано ниже.
Для текущей записи только что созданного клона устанавливается первая запись.
Изменения, внесенные в один объект Recordset, видны во всех его клонах независимо от типа курсора. Однако после выполнения запроса в исходном наборе записей клоны больше не будут синхронизированы с исходным.
При закрытии исходного набора записей не закрываются его копии, а также не закрываются исходные или другие копии.
Клонировать можно только объект Recordset , поддерживающий закладки. Значения закладок являются взаимозаменяемыми; то есть ссылка на закладку из одного объекта Recordset ссылается на одну и ту же запись в любом из ее клонов.
Некоторые события набора записей , которые активируются, также срабатывают во всех клонах Recordset . Однако, поскольку текущая запись может отличаться в клонированных наборах записей, события могут быть недопустимыми для клона.
Например, если изменить значение поля, событие WillChangeField будет происходить в измененном наборе записей и во всех клонах. Параметр Fields события WillChangeField клонированного набора записей (где изменение не было внесено) будет просто ссылаться на поля текущей записи клона, которые могут отличаться от текущей записи исходного набора записей, в котором произошло изменение.
В следующей таблице приведен полный список всех событий Recordset и указано, являются ли они допустимыми и активируются для клонов набора записей, созданных с помощью метода Clone .
Событие |
Активируется в клонах? |
---|---|
Нет |
|
Нет |
|
Нет |
|
Да |
|
Нет |
|
Да |
|
Нет |
|
Да |
|
Да |
|
Нет |
|
Нет |