Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Access 2013, Office 2013
Legt die relative Datensatznummer des aktuellen Datensatzes eines Recordset2-Objekts fest oder gibt die Nummer zurück.
Syntax
Ausdruck .AbsolutePosition
Ausdruck Eine Variable, die ein Recordset2-Objekt darstellt.
Hinweise
You can use the AbsolutePosition property to position the current record pointer to a specific record based on its ordinal position in a dynaset- or snapshot-type Recordset2 object. You can also determine the current record number by checking the AbsolutePosition property setting.
Da der AbsolutePosition-Eigenschaftswert nullbasiert ist (d. a. die Einstellung 0 verweist auf den ersten Datensatz im Recordset2-Objekt ), können Sie ihn nicht auf einen Wert festlegen, der größer oder gleich der Anzahl der aufgefüllten Datensätze ist. Dies führt zu einem auffangbaren Fehler. Sie können die Anzahl der aufgefüllten Datensätze im Recordset2-Objekt ermitteln, indem Sie die Einstellung der RecordCount-Eigenschaft überprüfen. Die maximal zulässige Einstellung für die AbsolutePosition-Eigenschaft ist der Wert der RecordCount-Eigenschaft minus 1.
Wenn kein aktueller Datensatz vorhanden ist, z. B. wenn keine Datensätze im Recordset2-Objekt vorhanden sind, gibt AbsolutePosition –1 zurück. Wenn der aktuelle Datensatz gelöscht wird, wird der Wert der AbsolutePosition-Eigenschaft nicht definiert, und ein abfangbarer Fehler tritt auf, wenn darauf verwiesen wird. Neue Datensätze werden am Ende der Sequenz hinzugefügt.
Sie sollten diese Eigenschaft nicht als Ersatz-Datensatznummer verwenden. Lesezeichen sind weiterhin die empfohlene Methode, um zu einer bestimmten Position zurückzukehren, und sie sind die einzige Möglichkeit, den aktuellen Datensatz in allen Typen von Recordset2-Objekten zu positionieren. Die Position eines Datensatzes ändert sich, wenn ein oder mehr vorangehende Datensätze gelöscht werden. Außerdem gibt es keine Gewähr, dass ein Datensatz die gleiche absolute Position hat, wenn das Recordset2-Objekt neu erstellt wird, da die Reihenfolge einzelner Datensätze innerhalb eines Recordset-Objekts nicht garantiert ist, außer das Objekt wird mit einer SQL-Anweisung unter Verwendung einer ORDER BY-Klausel erstellt.
Hinweis
- Wenn Sie die AbsolutePosition-Eigenschaft für ein soeben geöffnetes und noch nicht aufgefülltes Recordset2-Objekt auf einen größeren Wert als Null festlegen, wird ein auffangbarer Fehler verursacht. Füllen Sie das Recordset2-Objekt zuerst mit der MoveLast-Methode.
- Die AbsolutePosition-Eigenschaft ist nicht für Recordset2-Objekte vom Vorwärtstyp oder für Recordset2-Objekte verfügbar, die über Passthrough-Abfragen für odbc-Datenbanken mit microsoft Access-Datenbankmodul verbunden sind.
Beispiel
In diesem Beispiel wird die Verarbeitung einer Schleife, die alle Datensätze eines Recordset2-Objekts durchläuft, mit der AbsolutePosition-Eigenschaft verfolgt.
Sub AbsolutePositionX()
Dim dbsNorthwind As Database
Dim rstEmployees As Recordset2
Dim strMessage As String
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
' AbsolutePosition only works with dynasets or snapshots.
Set rstEmployees = _
dbsNorthwind.OpenRecordset("Employees", _
dbOpenSnapshot)
With rstEmployees
' Populate Recordset.
.MoveLast
.MoveFirst
' Enumerate Recordset.
Do While Not .EOF
' Display current record information. Add 1 to
' AbsolutePosition value because it is zero-based.
strMessage = "Employee: " & !LastName & vbCr & _
"(record " & (.AbsolutePosition + 1) & _
" of " & .RecordCount & ")"
If MsgBox(strMessage, vbOKCancel) = vbCancel _
Then Exit Do
.MoveNext
Loop
.Close
End With
dbsNorthwind.Close
End Sub