Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/03/2009, 05:31
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: llenar Msflexgrid con un archivo txt

Hola, una forma sencilla sería cargar el txt en un recordset y con éste rellenar el Grid con el método Clip GetString:

Código Visual Basic:
Ver original
  1. Dim rs As New ADODB.Recordset
  2. With rs
  3.     .ActiveConnection = "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
  4.             "DBQ=" & App.Path & ";DefaultDir=" & App.Path & ";"
  5.     .CursorType = adOpenStatic
  6.     .CursorLocation = adUseClient
  7.     .Open "Select * from [Archivo.txt]"
  8. End With
  9. Dim i As Integer
  10. With MSFlexGrid1
  11.     .Rows = 2
  12.     .Cols = rs.Fields.Count
  13.     For i = 0 To .Cols - 1
  14.         [COLOR="Green"]' encabezado de columna del Grid[/COLOR]
  15.         .TextMatrix(0, i) = rs.Fields(i).Name
  16.     Next i
  17.     .Rows = rs.RecordCount + 1
  18.     .Row = 1
  19.     .Col = 0
  20.     .RowSel = .Rows - 1
  21.     .ColSel = .Cols - 1
  22.     .Clip = rs.GetString(, rs.RecordCount)
  23.     .Row = 1
  24. End With
Notas:
- Tiene que estar activada una referencia a ADO
- Los delimitadores de campos del archivo tienen que ser punto y coma ";"
- Si el archivo no tiene encabezado, se lo tienes que poner a mano: TextMatrix(0, 0) = "Col 1", TextMatrix(0,1) = "Col 2" ...
- El archivo (Archivo.txt) está en el mismo directorio de la aplicación, si no es así lo debes indicar en el parámetro DefaultDir (DefaultDir = "c:\miRuta")

Saludos

Última edición por Avellaneda; 03/03/2009 a las 05:45