Visual Basic - Desde archivo XLS llena grilla

Life is soft - evento anual de software empresarial
 
Vista:

Desde archivo XLS llena grilla

Publicado por Paula (2 intervenciones) el 25/04/2007 21:58:07
Hola,
Tengo un problema al momento de abrir un archivo excel. este es mi procedimiento para llenar la grilla:

Dim Rs As Recordset

On Error Resume Next
If Db1.Name = "" Then
MsgBox "Error : Base de Datos no esta Abierta!", vbInformation
Exit Sub
End If
Set Rs = Db1.OpenRecordset(nombretabla)

If Err <> 0 Then
MsgBox Err.Description
Rs.Close
Exit Sub
End If

If Rs.RecordCount = 0 Then
MsgBox "Tabla no contiene registros!", vbInformation
Exit Sub
End If

FrmCaptura_nueva_version.MSFlexGrid_Ventas.Clear

''''''''''''''''''''''''''
'' CARGA TITULO A GRILLA''
''''''''''''''''''''''''''
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Rows = 1
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Cols = 2
tx_vistaPrevia = ""
Aux = " "
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Row = 0
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Col = 1

For i = 0 To Rs.Fields.Count - 1
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Col = FrmCaptura_nueva_version.MSFlexGrid_Ventas.Col + 1
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Text = Rs.Fields(i).Name
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Cols = FrmCaptura_nueva_version.MSFlexGrid_Ventas.Cols + 1
Next i
'''''''''''''''''''''''''''
'' CARGA DETALLE A GRILLA''
'''''''''''''''''''''''''''
i = 0
While i <= 10000 And Not Rs.EOF
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Rows = FrmCaptura_nueva_version.MSFlexGrid_Ventas.Rows + 1
If FrmCaptura_nueva_version.MSFlexGrid_Ventas.Row = 0 Then
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Row = 1
Else
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Row = i + 1
End If
For X = 0 To Rs.Fields.Count - 1
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Col = X + 1
FrmCaptura_nueva_version.MSFlexGrid_Ventas.Text = Rs.Fields(X).Value
Next X
Rs.MoveNext
i = i + 1
Wend
Rs.Close

El problema es que al momento de llenar en una de las columnas se va a cualquier lado.
Ejemplo :

Archivo =
Nombre apellido ciudad pais
Paula Madsen santiago Chile
Juan Martines santiago chile
Luis Figueroa santiago Chile

Carga a grilla =
Nombre apellido Chile pais
Paula Madsen Chile
Juan Martines santiago
Luis Figueroa santiago Chile

Espero me puedan ayudar, con esta formula u otra.
Segun lo que veo el problema es que el cursor se va a cualquier lado...
Esto Rs.Fields(i).Name no me funciona.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Desde archivo XLS llena grilla

Publicado por Harry (6 intervenciones) el 26/04/2007 00:24:42
¿ Y no se os ocurrió abrir directamente la hoja excel mediante ADO y pasarla al grid?
Son tres líneas de código, lo que vos poneis es una craga de despropósitos, es decir, lo que nos enseñaron que no deberíamos de hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar