Here's a sample function that will take a SQL statement and return an ADO recordset. It will work for any OLEDB provider, including Jet3.51 or 4 you will use with Access.
Substitute your own errorhandling and connection string. The connect string should not be hardcoded. It was changed here for clarity.
'Returns an ADO recordset
Public Function OpenADORecordSet(ByVal sSQL As String, Optional ByVal adCursorType As CursorTypeEnum = adOpenKeyset, Optional ByVal adLockType As LockTypeEnum = adLockOptimistic) As ADODB.Recordset
Dim objConn As ADODB.Connection
Dim rsTmp As ADODB.Recordset
Dim strConnect as String
On Error GoTo ErrorHandler
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Data\Airports.mdb;Persist Security Info=False"
Set rsTmp = CreateObject("ADODB.Recordset"

Set objConn = CreateObject("ADODB.Connection"
objConn.Open strConnect
With rsTmp
.CursorLocation = adUseClient
.Open sSQL, objConn, adCursorType, adLockType
Set .ActiveConnection = Nothing
End With
Set OpenADORecordSet = rsTmp
ExitProc:
On Error Resume Next
Set objConn = Nothing
Set rsTmp = Nothing
Exit Function
ErrorHandler:
LogError "OpenADORecordSet", "SQL: " & sSQL
Resume ExitProc
End Function