Hola, tengo un módulo con el siguiente código:
Código:
Option Explicit
Public cnConexion As ADODB.Connection
Public rsRegistro As ADODB.Recordset
Public dirAplicacion As String
'Asignamos valores a la conexión.
Public Sub Conexion()
ChDir dirAplicacion
ChDrive dirAplicacion
Debug.Print dirAplicacion
Set cnConexion = New ADODB.Connection
cnConexion.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0; data source=" & dirAplicacion & "\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
If rsRegistro.State = adStateOpen Then
rsRegistro.Close
End If
rsRegistro.Open
End Function
Ya pregunté una vez sobre utilizar este módulo con objetos y como se haría, pero nadie me respondió.
Me explico. Lo que quería hacer era usar "cursores" en donde almacenar los resultados y poder operar con ellos.
Nunca lo había usado, asique me puse a probar y llegué a que esto me funciona:
Dim tbCusor as Object
Set tbCursor=cargar("Select * From Clientes")
Do while tbCusor.eof
.....
Loop
No sé si esto que hago está bien hecho o es "eficiente", pero es la única cosa que he sido capaz de hacer y que funcionara.
Me gustaría que me dijerais si está bien hacer esto o hay formas mejore de realizar esto.
Gracias y un Saludo!