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
Die RecordCount -Eigenschaft gibt einen Wert vom Datentyp Long für die Anzahl von Datensätzen im Recordset -Objekt zurück. Mithilfe der RecordCount -Eigenschaft stellen Sie die Anzahl der Datensätze im Recordset -Objekt fest. Die Eigenschaft gibt -1 zurück, wenn ADO die Anzahl von Datensätzen nicht bestimmen kann oder wenn der Anbieter- oder Cursortyp RecordCount nicht unterstützt. Ein Fehler wird gemeldet, wenn die RecordCount -Eigenschaft für ein geschlossenes Recordset -Objekt gelesen wird.
Die RecordCount -Eigenschaft hängt von der Funktionalität des Anbieters und vom Cursortyp ab. Mit der RecordCount -Eigenschaft wird -1 für einen Vorwärtscursor, die tatsächliche Anzahl für einen statischen Cursor oder einen Keysetcursor, und je nach Datenquelle -1 oder die tatsächliche Anzahl für einen dynamischen Cursor zurückgegeben.
Das unter Untersuchen von Daten eingeführte Recordset-Objekt würde –1 zurückgeben, weil ein Vorwärtscursor geöffnet wurde. Für die Verwendung der RecordCount -Eigenschaft müssten Sie das Recordset -Objekt mit einem leistungsfähigeren Cursor (statischer Cursor oder Keysetcursor) öffnen.
Es kann vorkommen, dass der Anbieter oder Cursor den Wert für die RecordCount -Eigenschaft nur bereitstellen kann, wenn zuerst alle Datensätze von der Datenquelle abgerufen werden. Um diesen Abruftyp zu erzwingen, rufen Sie die RecordsetMoveLast-Methode auf, bevor Sie RecordCount aufrufen.
Ersetzen Sie die Codezeile, die die RecordsetOpen-Methode aufruft, durch Folgendes:
oRs.Open sSQL, sCnStr, adOpenStatic, adLockOptimistic, adCmdText
In diesem Fall könnten Sie die RecordCount -Eigenschaft verwenden, weil RecordCount von statischen Cursorn mit dem Microsoft OLE DB-Anbieter für SQL Server unterstützt werden. Beispielsweise würde der folgende Code die von dem Befehl zurückgegebene Anzahl von Datensätzen im Debugfenster ausgeben, vorausgesetzt die RecordCount -Eigenschaft wird vom Cursor unterstützt:
Debug.Print oRs.RecordCount ' Output: 4
Von da an sollten diese leistungsfähigeren (aber teureren) Cursor- und Sperrtypeinstellungen verwendet werden.