Hola, una crítica constructiva:
Ese código, tal y como está escrito, no puede funcionar.
- En la conexión no aplicas ningún valor a la ariable "dirAplicacion", supongo que aquí quieres utilizar la ruta de la aplicación. Para esto es mas eficiente usar App.Path.
- La función Cargar debe de devolver un recordset para que funcione el objeto. En esta función la instrucción If sobra, ya que al asignar rsRegistro como nuevo recordset, lo cierra si está abierto.
Bueno, yo pondría el código así:
Código:
Option Explicit
Public cnConexion As ADODB.Connection
Public rsRegistro As ADODB.Recordset
Public Sub Conexion()
Set cnConexion = New ADODB.Connection
cnConexion.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0; data source=" & App.Path & "\jardineria.mdb"
cnConexion.CursorLocation = adUseClient
cnConexion.Open
End Sub
'Carga el recordset.
Public Function Cargar(sSource As String)
Set rsRegistro = New ADODB.Recordset
rsRegistro.ActiveConnection = cnConexion
rsRegistro.CursorType = adOpenDynamic
rsRegistro.LockType = adLockOptimistic
rsRegistro.Source = sSource
rsRegistro.Open
Set Cargar = rsRegistro
End Function