Методы MoveFirst, MoveLast, MoveNext и MovePrevious (ADO)

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

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

Синтаксис

набор записей. { MoveFirst | MoveLast | MoveNext | MovePrevious}

Замечания

Используйте метод MoveFirst , чтобы переместить текущую позицию записи в первую запись в наборе записей.

Используйте метод MoveLast , чтобы переместить текущую позицию записи в последнюю запись в наборе записей. Объект Recordset должен поддерживать закладки или перемещение курсора назад; В противном случае вызов метода вызовет ошибку.

Вызов Метода MoveFirst или MoveLast , если набор записей пуст ( bof и EOF имеют значение True), создает ошибку.

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

В случаях, когда набор записей был отфильтрован или отсортирован, а данные текущей записи изменены, позиция также может измениться. В таких случаях метод MoveNext работает нормально, но следует учитывать, что позиция перемещается на одну запись вперед из новой позиции, а не из старой позиции. Например, изменение данных в текущей записи таким образом, чтобы запись была перемещена в конец отсортированного набора записей, приведет к тому, что вызов MoveNext приведет к тому, что ADO установит текущую запись в положение после последней записи в наборе записей (EOF = True).

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

Если набор записей доступен только вперед и вы хотите поддерживать прокрутку вперед и назад, можно использовать свойство CacheSize для создания кэша записей, который будет поддерживать перемещение курсора назад с помощью метода Move . Так как кэшированные записи загружаются в память, следует избегать кэширования большего объема записей, чем требуется. Метод MoveFirst можно вызвать в объекте Recordset только для пересылки; Это может привести к повторному выполнению поставщиком команды, создающей объект Recordset .