Freigeben über


Recordset2.RecordCount-Eigenschaft (DAO)

Gilt für: Access 2013, Office 2013

Returns the number of records accessed in a Recordset object, or the total number of records in a table-type Recordset object. or TableDef object. Schreibgeschützter langer Wert.

Syntax

expression .RecordCount

Ausdruck Eine Variable, die ein Recordset2-Objekt darstellt.

Bemerkungen

Verwenden Sie die RecordCount-Eigenschaft, um herauszufinden, auf wie viele Datensätze in einem Recordset- oder TableDef-Objekt zugegriffen wurde. Die RecordCount-Eigenschaft gibt erst an, wie viele Datensätze in einem Recordset-Objekt vom "dynaset"-, "snapshot"- oder "forward-only"-Typ enthalten sind, wenn auf alle Datensätze zugegriffen wurde. Sobald auf den letzten Datensatz zugegriffen wurde, gibt die RecordCount-Eigenschaft die Gesamtzahl ungelöschter Datensätze im Recordset- oder TableDef-Objekt an. To force the last record to be accessed, use the MoveLast method on the Recordset object. You can also use an SQL Count function to determine the approximate number of records your query will return.

Hinweis

Das Verwenden der MoveLast-Methode zum Auffüllen eines neu geöffneten Recordset wirdkt sich negativ auf die Leistung aus. Sofern beim Öffnen eines Recordset-Objekts nicht sofort ein genauer RecordCount-Wert erforderlich ist, sollte das Recordset-Objekt mit anderen Codeteilen aufgefüllt werden, bevor die RecordCount-Eigenschaft geprüft wird.

As your application deletes records in a dynaset-type Recordset object, the value of the RecordCount property decreases. Datensätze, die von anderen Benutzern gelöscht werden, werden allerdings erst von der RecordCount-Eigenschaft wiedergegeben, wenn der aktuelle Datensatz auf einem gelöschten Datensatz positioniert wird. Wenn Sie eine Transaktion ausführen, die sich auf die Einstellung der RecordCount-Eigenschaft auswirkt und Sie dann ein Rollback für die Transaktion ausführen, gibt die RecordCount-Eigenschaft nicht die tatsächliche Anzahl verbleibender Datensätze wieder.

Die RecordCount-Eigenschaft eines Recordset-Objekts vom "snapshot"- oder "forward-only"-Typ ist nicht von den Änderungen in zugrunde liegenden Tabellen betroffen.

Ein Recordset- oder TableDef-Objekt ohne Datensätze hat eine RecordCount-Eigenschaftseinstellung von "0".

Bei der Verwendung der Requery -Methode für ein Recordset-Objekt wird die RecordCount-Eigenschaft zurückgesetzt, so als würde die Abfrage erneut ausgeführt.

Beispiel

Dieses Beispiel demonstriert die RecordCount-Eigenschaft mit verschiedenen Recordset-Typen vor und nach der Auffüllung.

    Sub RecordCountX() 
     
     Dim dbsNorthwind As Database 
     Dim rstEmployees As Recordset2 
     
     Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
     
     With dbsNorthwind 
     ' Open table-type Recordset and show RecordCount 
     ' property. 
     Set rstEmployees = .OpenRecordset("Employees") 
     Debug.Print _ 
     "Table-type recordset from Employees table" 
     Debug.Print " RecordCount = " & _ 
     rstEmployees.RecordCount 
     rstEmployees.Close 
     
     ' Open dynaset-type Recordset and show RecordCount 
     ' property before populating the Recordset. 
     Set rstEmployees = .OpenRecordset("Employees", _ 
     dbOpenDynaset) 
     Debug.Print "Dynaset-type recordset " & _ 
     "from Employees table before MoveLast" 
     Debug.Print " RecordCount = " & _ 
     rstEmployees.RecordCount 
     
     ' Show the RecordCount property after populating the 
     ' Recordset. 
     rstEmployees.MoveLast 
     Debug.Print "Dynaset-type recordset " & _ 
     "from Employees table after MoveLast" 
     Debug.Print " RecordCount = " & _ 
     rstEmployees.RecordCount 
     rstEmployees.Close 
     
     ' Open snapshot-type Recordset and show RecordCount 
     ' property before populating the Recordset. 
     Set rstEmployees = .OpenRecordset("Employees", _ 
     dbOpenSnapshot) 
     Debug.Print "Snapshot-type recordset " & _ 
     "from Employees table before MoveLast" 
     Debug.Print " RecordCount = " & _ 
     rstEmployees.RecordCount 
     
     ' Show the RecordCount property after populating the 
     ' Recordset. 
     rstEmployees.MoveLast 
     Debug.Print "Snapshot-type recordset " & _ 
     "from Employees table after MoveLast" 
     Debug.Print " RecordCount = " & _ 
     rstEmployees.RecordCount 
     rstEmployees.Close 
     
     ' Open forward-only-type Recordset and show 
     ' RecordCount property before populating the 
     ' Recordset. 
     Set rstEmployees = .OpenRecordset("Employees", _ 
     dbOpenForwardOnly) 
     Debug.Print "Forward-only-type recordset " & _ 
     "from Employees table before MoveLast" 
     Debug.Print " RecordCount = " & _ 
     rstEmployees.RecordCount 
     
     ' Show the RecordCount property after calling the 
     ' MoveNext method. 
     rstEmployees.MoveNext 
     Debug.Print "Forward-only-type recordset " & _ 
     "from Employees table after MoveNext" 
     Debug.Print " RecordCount = " & _ 
     rstEmployees.RecordCount 
     rstEmployees.Close 
     
     .Close 
     End With 
     
    End Sub