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:
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 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
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
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