Option Explicit Sub SheetIt() Dim objADODBConnection As New ADODB.Connection Dim strConnectString As String Dim objRecordSet As New ADODB.Recordset Dim strSQL As String Dim lngCounter As Long Dim lngLoopCounter As Long Dim lngNumFields As Long Dim objRange As Range Debug.Print "GetData() procedure initiated" objADODBConnection.Mode = adModeRead objADODBConnection.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0; " & _ "Data source= C:\ESData.mdb" On Error Resume Next objADODBConnection.Open If Err Then Debug.Print "Error in opening ESData database" Exit Sub Else Debug.Print "ESData database Opened OK" On Error GoTo 0 End If strSQL = "SELECT * FROM Staff;" objRecordSet.CursorType = adOpenStatic On Error Resume Next objRecordSet.Open strSQL, objADODBConnection If Err Then Debug.Print "Error in creating recordset" Exit Sub Else On Error GoTo 0 Debug.Print "ESData Recordset Opened OK" Debug.Print "No of Rows: " & objRecordSet.RecordCount Debug.Print "No of Fields: " & objRecordSet.Fields.Count lngNumFields = objRecordSet.Fields.Count End If Set objRange = ActiveSheet.Range("A1").CurrentRegion objRange.Delete Set objRange = ActiveSheet.Range("A1") For lngLoopCounter = 0 To lngNumFields - 1 objRange.Offset(0, lngLoopCounter).Value = _ objRecordSet.Fields(lngLoopCounter).Name Next lngLoopCounter lngCounter = 1 objRecordSet.MoveFirst Do While Not objRecordSet.EOF Debug.Print "Record No: " & lngCounter lngLoopCounter = 0 Do While lngLoopCounter < lngNumFields Debug.Print "Field:" & lngLoopCounter + 1 & " = " & _ objRecordSet.Fields(lngLoopCounter) objRange.Offset(lngCounter, lngLoopCounter).Value = _ objRecordSet.Fields(lngLoopCounter) lngLoopCounter = lngLoopCounter + 1 Loop objRecordSet.MoveNext lngCounter = lngCounter + 1 Loop objADODBConnection.Close Set objRecordSet = Nothing Set objADODBConnection = Nothing Debug.Print "GetData() procedure terminated" End Sub Sub GetData() Dim objADODBConnection As New ADODB.Connection Dim strConnectString As String Dim objRecordSet As New ADODB.Recordset Dim strSQL As String Dim lngCounter As Long Dim lngLoopCounter As Long Dim lngNumFields As Long Dim objRange As Range Debug.Print "GetData() procedure initiated" objADODBConnection.Mode = adModeRead objADODBConnection.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0; " & _ "Data source= C:\ESData.mdb" On Error Resume Next objADODBConnection.Open If Err Then Debug.Print "Error in opening ESData database" Exit Sub Else Debug.Print "ESData database Opened OK" On Error GoTo 0 End If strSQL = "SELECT * FROM Staff;" objRecordSet.CursorType = adOpenStatic On Error Resume Next objRecordSet.Open strSQL, objADODBConnection If Err Then Debug.Print "Error in creating recordset" Exit Sub Else On Error GoTo 0 Debug.Print "ESData Recordset Opened OK" Debug.Print "No of Rows: " & objRecordSet.RecordCount Debug.Print "No of Fields: " & objRecordSet.Fields.Count lngNumFields = objRecordSet.Fields.Count End If objADODBConnection.Close Set objRecordSet = Nothing Set objADODBConnection = Nothing Debug.Print "GetData() procedure terminated" End Sub