PDA

Ver la versión completa : Ayuda con RecordSet



proteo1
16-05-2009, 12:11
Hola a todos, tengo dias haciendo un sistema de control de personal, pero al llegar a este punto no he logrado avanzar, lo hago de manera constante y funciona muy bien, pero si la hago variable ya no... :$


Dim Tempo As Integer
Dim Otro As Integer
Dim Encabezado() As String
Dim Campo() As String
Dim Indice As Integer
Dim Espacio As Integer
Dim El_Recordset As Recordset 'Variable para el recordset
Set El_Recordset = New Recordset 'Nuevo objeto Recordset desconectado

Indice = 0
For Tempo = 0 To xGrid.Cols - 1
If xGrid.ColWidth(Tempo) > 0 Then Indice = Indice + 1
Next Tempo
ReDim Encabezado(0 To Indice - 1)
ReDim Campo(0 To Indice - 1)

With El_Recordset.Fields 'Crea los campos, de tipo String, con tamaño variable
Indice = 0
For Tempo = 0 To xGrid.Cols - 1
If xGrid.ColWidth(Tempo) > 0 Then
Espacio = 0
For Otro = 1 To xGrid.Rows - 1
If Espacio < Len(xGrid.TextMatrix(Otro, Tempo)) Then Espacio = Len(xGrid.TextMatrix(Otro, Tempo)) + 2
Next Otro
Encabezado(Indice) = Trim(Replace(Replace(xGrid.TextMatrix(0, Tempo), ".", ""), " ", ""))
.Append Encabezado(Indice), adVarChar, Espacio
Indice = Indice + 1
End If
Next Tempo
End With

El_Recordset.Open 'Abre el recorset para poder agregar datos
With El_Recordset 'Agrega valores al recordset, es decir a los campos
For Tempo = 1 To xGrid.Rows - 1
If xGrid.ColWidth(0) > 0 Then
Indice = 0
For Otro = 0 To xGrid.Cols - 1
Campo(Indice) = Trim(xGrid.TextMatrix(Tempo, Otro))
Indice = Indice + 1
Next Otro
.AddNew Encabezado, Campo ' en esta linea es donde me estoy dando topes... ya revise segun yo todo y nada..
End If
Next Tempo
End With


la funcion es para pasar datos de un msflexgrid a un datareport sin pasar por la base de datos.

me sale el error no. 3265, ya lo busque en google y nada, las soluciones no m dan...

gracias de antemano por la ayuda que me puedan aportar.