Mira yo los utilizo asi:
Public Sub ConexionBD()
Set Cn = New Connection
Conexion = App.Path & "\Planillas.mdb"
With Cn
.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=" & Conexion &
End With
End Sub
Public Sub Cursores(ByRef RSn As Recordset, ByVal SQL As String, ByRef Cnn As Connection)
On Error GoTo errRsn
Set RSn = New Recordset
RSn.CursorLocation = adUseClient
RSn.CursorType = adOpenKeyset
RSn.LockType = adLockOptimistic
RSn.Open SQL, Cnn
Exit Sub
errRsn:
Dim strMsje$
If (Err.Number <> 0) Then
strMsje = "Error Nro:" & Str(Err.Number) & vbCrLf & _
"Originado en:" & Err.Source & vbCrLf & _
"Detalle(s):" & Err.Description & vbCrLf
MsgBox strMsje, vbCritical, "Error al Crear Cursor"
End
End If
End Sub
eso lo coloco en el modulo y lo utilizo en cualquier parte del programa asi:
ConexionBD
Cursores Rs,"Select * From Tabla",Cn