Comparto con ustedes un código fuente que permite llenar un datagrid sin necesidad de generar un recordset, me quebré la cabeza ya que nunca me hizo falta, pero aquí la solución que me encontré por el internet y ya he probado
Private Sub llenarDataGrid()
Dim MiArray(3, 1 To 3) As Integer
Dim x As Integer, y As Integer
Dim rs As ADODB.Recordset
Randomize Timer
' Rellenamos el Array
For x = 0 To UBound(MiArray)
For y = 1 To 3
MiArray(x, y) = Int((256 * Rnd) + 1)
Next
Next
' Creamos un nuevo objeto Recordset
Set rs = New ADODB.Recordset
' Abrimos el recordset
With rs
' Añadimos los campos
.Fields.Append "Campo1", adInteger
.Fields.Append "Campo2", adInteger
.Fields.Append "Campo3", adInteger
' Utilizamos cursores del lado cliente
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
' Abrimos el Recordset
.Open
' Rellenamos el Recordset con los datos
' del Array
For x = 0 To UBound(MiArray)
' Añadimos un nuevo registro
.AddNew
For y = 1 To 3
.Fields("Campo" & y) = MiArray(x, y)
.Update
Next
Next
End With
' Establezco el origen de datos del DataGrid
Set dg.DataSource = rs
End Sub
Espero les haya servido de algo.
No hay comentarios