Count Property Example (VB)
This example demonstrates the Count property with two collections in the Employee database. The property obtains the number of objects in each collection, and sets the upper limit for loops that enumerate these collections. Another way to enumerate these collections without using the Count property would be to use For Each...Next
statements.
'BeginCountVB 'To integrate this code 'replace the data source and initial catalog values 'in the connection string Public Sub Main() On Error GoTo ErrorHandler ' recordset and connection variables Dim rstEmployees As ADODB.Recordset Dim Cnxn As ADODB.Connection Dim strSQLEmployees As String Dim strCnxn As String Dim intLoop As Integer ' Open a connection Set Cnxn = New ADODB.Connection strCnxn = "Provider='sqloledb';Data Source='MySqlServer';" & _ "Initial Catalog='Northwind';Integrated Security='SSPI';" Cnxn.Open strCnxn ' Open recordset with data from Employee table Set rstEmployees = New ADODB.Recordset strSQLEmployees = "Employees" 'rstEmployees.Open strSQLEmployee, Cnxn, , , adCmdTable rstEmployees.Open strSQLEmployees, Cnxn, adOpenForwardOnly, adLockReadOnly, adCmdTable 'the above two lines opening the recordset are identical as 'the default values for CursorType and LockType arguments match those specified ' Print information about Fields collection Debug.Print rstEmployees.Fields.Count & " Fields in Employee" For intLoop = 0 To rstEmployees.Fields.Count - 1 Debug.Print " " & rstEmployees.Fields(intLoop).Name Next intLoop ' Print information about Properties collection Debug.Print rstEmployees.Properties.Count & " Properties in Employee" For intLoop = 0 To rstEmployees.Properties.Count - 1 Debug.Print " " & rstEmployees.Properties(intLoop).Name Next intLoop ' clean up rstEmployees.Close Cnxn.Close Set rstEmployees = Nothing Set Cnxn = Nothing Exit Sub ErrorHandler: ' clean up If Not rstEmployees Is Nothing Then If rstEmployees.State = adStateOpen Then rstEmployees.Close End If Set rstEmployees = Nothing If Not Cnxn Is Nothing Then If Cnxn.State = adStateOpen Then Cnxn.Close End If Set Cnxn = Nothing If Err <> 0 Then MsgBox Err.Source & "-->" & Err.Description, , "Error" End If End Sub 'EndCountVB