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


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

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

Синтаксис

  
recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}  

Remarks

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

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

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

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

В ADO 2.5 и более поздних версиях при фильтрации или сортировке набора записей и изменении данных текущей записи вызов метода MoveNext перемещает курсор на две записи вперед от текущей записи. Это связано с тем, что при изменении текущей записи следующая запись становится новой текущей записью. Вызов Метода MoveNext после изменения перемещает курсор на одну запись вперед от новой текущей записи. Это отличается от поведения в ADO 2.1 и более ранних версиях. В этих предыдущих версиях изменение данных текущей записи в отсортированного или отфильтрованном наборе записей не изменяет положение текущей записи, и moveNext перемещает курсор на следующую запись сразу после текущей записи.

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

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

Применение

Объект Recordset (ADO)

См. также:

Примеры методов MoveFirst, MoveLast, MoveNext и MovePrevious (VB)
Примеры методов MoveFirst, MoveLast, MoveNext и MovePrevious (VBScript)
Примеры методов MoveFirst, MoveLast, MoveNext и MovePrevious (VC++)
Метод Move (ADO)
Методы MoveFirst, MoveLast, MoveNext и MovePrevious (служба удаленных рабочих столов)
Метод MoveRecord (ADO)