RecordCount Property Example

This example demonstrates the RecordCount property with different types of Recordsets before and after they're populated.

Sub RecordCountX()

   Dim dbsNorthwind As Database
   Dim rstEmployees As Recordset

   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