elegir txt y pasar a DataTable
Publicado por Javi (6 intervenciones) el 30/03/2011 09:32:08
Hola, necesito poder convertir los datos de un txt a una variable DataTable, pero es la primera vez que programo con VisualBasic y prácticamente no estoy seguro de nada de lo que hago. Allá voy:
El usuario debe poder elegir un txt y creo que así se puede no?
Private Sub CommandButton_Click()
CommonDialog1.Filter = ("*.txt |*.txt|")
CommonDialog1.ShowOpen()
RichTextBox.LoadFile(CommonDialog1.Archivo)
End Sub
Open Archivo For Input As #1 //así lo puedo abrir
Ahora necesito meterlo en una DataTable que contenga por cada registro 3 campos (importe,fecha y concepto, las 3 Integer). Así lo leo bien? Cómo defino y voy colocando cada línea que voy leyendo en un registro distinto cada vez de mi DataTable?
While not EOF(1)
Dim Index As Integer
Index = 0
Dim aux As Integer
Line Input mid(#1,1,2),aux
#If (aux = 22) Then //sólo me valen las líneas que empiecen por 22
Dim i As Integer
i=0
Line Input mid (#1,11,6),variableDataTable(i).fecha
Line Input mid (#1,28,1),variableDataTable(i).concepto
Line Input mid (#1,29,14),variableDataTable(i).importe
i++
#End If
Index = Index + 1
Wend
Close #1
Luego tengo que hacer lo mismo (dar a elegir al usuario poder abrir otro txt y meterlo en otra variable DataTable) para poder comparar los campos importe, fecha y concepto; aunque ahora los criterios de lectura de este txt son distintos (las cantidades que me interesan vienen separadas por tabuladores) creo que podré seguir adelante si resuelvo mis primeras dudas. Gracias de antemano.
El usuario debe poder elegir un txt y creo que así se puede no?
Private Sub CommandButton_Click()
CommonDialog1.Filter = ("*.txt |*.txt|")
CommonDialog1.ShowOpen()
RichTextBox.LoadFile(CommonDialog1.Archivo)
End Sub
Open Archivo For Input As #1 //así lo puedo abrir
Ahora necesito meterlo en una DataTable que contenga por cada registro 3 campos (importe,fecha y concepto, las 3 Integer). Así lo leo bien? Cómo defino y voy colocando cada línea que voy leyendo en un registro distinto cada vez de mi DataTable?
While not EOF(1)
Dim Index As Integer
Index = 0
Dim aux As Integer
Line Input mid(#1,1,2),aux
#If (aux = 22) Then //sólo me valen las líneas que empiecen por 22
Dim i As Integer
i=0
Line Input mid (#1,11,6),variableDataTable(i).fecha
Line Input mid (#1,28,1),variableDataTable(i).concepto
Line Input mid (#1,29,14),variableDataTable(i).importe
i++
#End If
Index = Index + 1
Wend
Close #1
Luego tengo que hacer lo mismo (dar a elegir al usuario poder abrir otro txt y meterlo en otra variable DataTable) para poder comparar los campos importe, fecha y concepto; aunque ahora los criterios de lectura de este txt son distintos (las cantidades que me interesan vienen separadas por tabuladores) creo que podré seguir adelante si resuelvo mis primeras dudas. Gracias de antemano.
Valora esta pregunta
0