Share via


Die Methoden MoveFirst, MoveLast, MoveNext und MovePrevious (ADO)

Wechselt zum ersten, letzten, nächsten oder vorherigen Datensatz in einem angegebenen Recordset-Objekt und macht diesen Datensatz zum aktuellen Datensatz.

Syntax

  
recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}  

Bemerkungen

Verwenden Sie die MoveFirst-Methode, um die aktuelle Datensatzposition auf den ersten Datensatz im Recordset zu verschieben.

Verwenden Sie die MoveLast-Methode, um die aktuelle Datensatzposition auf den letzten Datensatz im Recordset zu verschieben. Das Recordset-Objekt muss Textmarken oder Rückwärtsbewegungen des Cursors unterstützen, andernfalls generiert der Methodenaufruf einen Fehler.

Ein Aufruf von MoveFirst oder MoveLast, wenn das Recordset leer ist (sowohl BOF als auch EOF sind „True“), generiert einen Fehler.

Verwenden Sie die MoveNext-Methode, um die aktuelle Datensatzposition um einen Datensatz vorwärts (nach unten im Recordset) zu verschieben. Wenn der letzte Datensatz der aktuelle Datensatz ist und Sie die MoveNext-Methode aufrufen, legt ADO den aktuellen Datensatz auf die Position hinter dem letzten Datensatz im Recordset fest (EOF ist True). Ein Versuch, vorwärts zu wechseln, wenn die EOF-Eigenschaft bereits True ist, generiert einen Fehler.

Wenn das Recordset in ADO 2.5 und höher gefiltert oder sortiert wurde und die Daten des aktuellen Datensatzes geändert werden, verschiebt das Aufrufen der MoveNext-Methode den Cursor vom aktuellen Datensatz aus um zwei Datensätze vorwärts. Dies liegt daran, dass der nächste Datensatz beim Ändern des aktuellen Datensatzes zum neuen aktuellen Datensatz wird. Das Aufrufen von MoveNext nach der Änderung verschiebt den Cursor vom neuen aktuellen Datensatz aus um einen Datensatz vorwärts. Dies unterscheidet sich von dem Verhalten in ADO 2.1 und früher. In diesen früheren Versionen ändert das Ändern der Daten eines aktuellen Datensatzes im sortierten oder gefilterten Recordset nicht die Position des aktuellen Datensatzes, und MoveNext verschiebt den Cursor zum nächsten Datensatz direkt hinter dem aktuellen Datensatz.

Verwenden Sie die MovePrevious-Methode, um die aktuelle Datensatzposition um einen Datensatz rückwärts (nach oben im Recordset) zu verschieben. Das Recordset-Objekt muss Textmarken oder Rückwärtsbewegungen des Cursors unterstützen, andernfalls generiert der Methodenaufruf einen Fehler. Wenn der erste Datensatz der aktuelle Datensatz ist und Sie die MovePrevious-Methode aufrufen, legt ADO den aktuellen Datensatz auf die Position vor dem ersten Datensatz im Recordset fest (BOF ist True). Ein Versuch, rückwärts zu wechseln, wenn die BOF-Eigenschaft bereits True ist, generiert einen Fehler. Wenn das Recordset-Objekt keine Textmarken oder keine Rückwärtsbewegungen des Cursors unterstützt, generiert die MovePrevious-Methode einen Fehler.

Wenn das Recordset nur vorwärts scrollen kann und Sie sowohl Vorwärts- als auch Rückwärtsscrollen unterstützen möchten, können Sie die CacheSize-Eigenschaft verwenden, um einen Datensatzcache zu erstellen, der Rückwärtsbewegungen des Cursors über die Move-Methode unterstützt. Da zwischengespeicherte Datensätze in den Arbeitsspeicher geladen werden, sollten Sie nicht mehr Datensätze zwischenspeichern, als erforderlich ist. Sie können die MoveFirst-Methode in einem nur vorwärts scrollenden Recordset-Objekt aufrufen. Dies kann dazu führen, dass der Anbieter den Befehl erneut ausführt, der das Recordset-Objekt generiert hat.

Gilt für

Recordset-Objekt (ADO)

Weitere Informationen

Die Methoden MoveFirst, MoveLast, MoveNext und MovePrevious – Beispiel (VB)
Die Methoden MoveFirst, MoveLast, MoveNext und MovePrevious – Beispiel (VBScript)
Die Methoden MoveFirst, MoveLast, MoveNext und MovePrevious – Beispiel (VC++)
Move-Methode (ADO)
MoveFirst-, MoveLast-, MoveNext- und MovePrevious-Methode (RDS)
MoveRecord-Methode (ADO)