Метод Move (ADO)
Перемещает позицию текущей записи в объекте Recordset .
Синтаксис
recordset.Move NumRecords, Start
Параметры
NumRecords
Выражение типа Long со знаком, указывающее количество записей, перемещаемых текущей позицией записи.
Запуск
Необязательный элемент. Строковое значение или 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 , доступного только вперед, по-прежнему приводит к ошибке.
Примечание
Поддержка перемещения назад в наборе записей только вперед не предсказуема в зависимости от поставщика. Если текущая запись была размещена после последней записи в наборе записей, перемещение назад может привести к неправильному текущему положению.
Применение
См. также:
Пример метода Move (Visual Basic)
Пример метода Move (VBScript)
Пример метода Move (Visual C++)
Методы MoveFirst, MoveLast, MoveNext и MovePrevious (ADO)
Методы MoveFirst, MoveLast, MoveNext и MovePrevious (служба удаленных рабочих столов)
Метод MoveRecord (ADO)