proteo1
16-05-2009, 11: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.
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.