Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2008, 02:07
Baldur
 
Fecha de Ingreso: mayo-2005
Ubicación: Vimianzo. A Coruña
Mensajes: 230
Antigüedad: 19 años
Puntos: 1
Usar Objects como cursores de SQL

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!