Поделиться через


Метод Move (ADO)

Область применения: Access 2013, Office 2013

Перемещает положение текущей записи в объекте Recordset.

Синтаксис

набор записей. Перемещение NumRecords, start

Параметры

Параметр Описание
NumRecords Выражение long со знаком, указывающее количество записей, перемещаемых текущей позицией записи.
Start Необязательный параметр. Строковое значение или Variant, вычисляемое как закладка. Можно также использовать значение BookmarkEnum .

Замечания

Метод Move поддерживается для всех объектов Recordset .

Если аргумент NumRecords больше нуля, текущая позиция записи перемещается вперед (в конец набора записей). Если значение NumRecords меньше нуля, текущая позиция записи перемещается назад (к началу набора записей).

Если вызов Move перемещает текущую позицию записи в точку перед первой записью, ADO задает текущую запись в положение перед первой записью в наборе записей (BOF имеет значение True). Попытка перемещения назад, когда свойство BOF уже имеет значение True , приводит к ошибке.

Если вызов Move перемещает текущую позицию записи в точку после последней записи, ADO устанавливает текущую запись в положение после последней записи в наборе записей (EOF имеет значение True). Попытка перейти вперед, если свойство EOF уже имеет значение True , приводит к ошибке.

Вызов метода Move из пустого объекта Recordset приводит к ошибке.

Если передать аргумент Start , перемещение выполняется относительно записи с этой закладкой, при условии, что объект Recordset поддерживает закладки. Если значение не указано, перемещение будет относительно текущей записи.

Если вы используете свойство CacheSize для локального кэширования записей от поставщика, передача аргумента NumRecords , который перемещает текущую позицию записи за пределы текущей группы кэшированных записей, заставляет ADO извлекать новую группу записей, начиная с целевой записи. Свойство CacheSize определяет размер вновь полученной группы, а запись назначения — это первая полученная запись.

Если объект Recordset является только переадресованным, пользователь по-прежнему может передать аргумент NumRecords меньше нуля при условии, что назначение находится в текущем наборе кэшированных записей. Если вызов Move перемещает текущую позицию записи в запись перед первой кэшированной записью, возникнет ошибка. Таким образом, можно использовать кэш записей, поддерживающий полную прокрутку по поставщику, который поддерживает только прямую прокрутку. Так как кэшированные записи загружаются в память, следует избегать кэширования большего объема записей, чем требуется. Даже если объект Recordset , доступный только для прямого перемещения, таким образом поддерживает обратные перемещения, вызов метода MovePrevious для любого объекта Recordset , доступного только вперед, по-прежнему приведет к ошибке.

Примечание.

Поддержка перемещения назад в наборе записей только вперед не предсказуема в зависимости от поставщика. Если текущая запись была размещена после последней записи в наборе записей, перемещение назад может привести к неправильному текущему положению.