Move to the first, last, next, or previous record in a specified Recordset object and make that record the current record.
Syntax
recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}
The recordset placeholder is an object variable representing an open Recordset object.
Remarks
Use the MoveFirst method to move the current record position to the first record in the recordset.
Use the MoveLast method to move the current record position to the last record in the recordset. The Recordset object must support bookmarks; otherwise, the method call will generate an error.
Use the MoveNext method to move the current record position one record forward (towards the bottom of the Recordset). If the last record is the current record and you call the MoveNext method, ADO sets the current record to the position after the last record in the Recordset ( EOF is True). An attempt to move forward when the EOF property is already True generates an error.
Use the MovePrevious method to move the current record position one record backward (towards the top of the Recordset). The Recordset object must support bookmarks or backward cursor movement; otherwise, the method call will generate an error. If the first record is the current record and you call the MovePrevious method, ADO sets the current record to the position before the first record in the Recordset ( BOF is True). An attempt to move backward when the BOF property is already True generates an error. If the Recordset object does not support either bookmarks or backward cursor movement, the MovePrevious method will generate an error.
If the recordset is forward-only and you want to support both forward and backward scrolling, you can use the CacheSize property to create a "cached cursor" that will support backward cursor movement through the Move method. Because a cached cursor loads cached records into memory, you should avoid caching more records than is necessary. You can call the MoveFirst method in a forward-only Recordset object if the first record of the Recordset is still in the current cache of records. Doing so may cause the provider to re-execute the command that generated the Recordset object.