Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/10/2012, 10:34
khryztall
 
Fecha de Ingreso: mayo-2011
Mensajes: 47
Antigüedad: 13 años
Puntos: 1
Problema al guardar los resultados de una consulta en una matriz biidmensional

Buenos días gente;

El problema que me aqueja hoy y me lleva atormentado es el siguiente:

hago una consulta SQL en ACCESS a traves de VBA manejando el objeto RECORDSET de la siguiente manera:

Cita:
Dim resultados(0 To 100)
Dim cs As String '
Dim sPath As String 'direccion base de datos
Dim sql As String 'consulta
Dim cn As ADODB.Connection 'conexion
Dim rs As ADODB.Recordset 'vector guardado de datos
sPath = ThisWorkbook.Path & "\DB\DB.accdb"
cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sPath & ";Persist Security Info=False;"
Set cn = New ADODB.Connection
cn.Open cs
Set rs = New ADODB.Recordset
With rs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
End With
sapNumber = CStr(cld)
sql = "SELECT sap_number, Ubicacion, psl, description_short, description_long FROM unidades_base ORDER BY description_long;"
rs.Open sql, cn


//Worksheets(4).Range("F1").CopyFromRecordset rs

//aqui esta el problema

rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
no he encontrado la función que me permita recorrer el resultado de la consulta, que esta de mas decirlo es bidimensional, y agregar que la consulta muestra resultados ya que el CopyFromRecordset rs me da los resultados en este caso en excel

intente hacerlo con rs Field.Item(n) pero solo lo recorre en filas y no en columnas por fa ayuda.

Como dato adicional la variable en la que quiero guardar los resultados son una matriz nXn guardada de forma Global