Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: pandemonio en 1 Septiembre 2006, 18:37 pm



Título: Ayuda con extraer registros de un TXT y pasarlos a una tabla
Publicado por: pandemonio en 1 Septiembre 2006, 18:37 pm
Mi problema es el siguiente:

Tengo un archivo TXT con los siguientes registros:

Citar
Dato1|Dato2|Dato3|Dato4|
Dato5|Dato6|Dato7|Dato8|

Como notan, este archivo se conforma de dos registros, los cuales contienen 4 campos cada uno (en realidad difiere en la cantidad de campos por registro, pero con esto basta); mi problema es que deseo extraer dichos campos del primer registro a una tabla previamente creada por mí en MySQL, lo mismo es para el segundo registro, el problema aquí es que no llego a visualizar el cómo lo puedo hacer. Espero me puedan ayudar con esto.

Nota: Las tablas y las BD las crearé en tiempo de ejecución, las BD con un nombre predefinido y el nombre de las tablas tomando como referencia el primer dato del registro. Los datos están divididos por "pipes" (|).


Título: Re: Ayuda con extraer registros de un TXT y pasarlos a una tabla
Publicado por: maxnet en 1 Septiembre 2006, 23:03 pm
abres el archivo de texto  y lee linea a linea

dim strCampos() as string,strTextoLinea as string,A as long
strCampos()=split(strTextoLinea,"|")
for a=0 to ubound(strCampos)-1
  strDato=strcampo(a)
next a


Título: Re: Ayuda con extraer registros de un TXT y pasarlos a una tabla
Publicado por: pandemonio en 4 Septiembre 2006, 19:13 pm
abres el archivo de texto  y lee linea a linea

dim strCampos() as string,strTextoLinea as string,A as long
strCampos()=split(strTextoLinea,"|")
for a=0 to ubound(strCampos)-1
  strDato=strcampo(a)
next a

¡Funcionó a la perfección! ¡Gracias maxnet!

Aquí dejo el código modificado por si les interesa:

Código:

Public Sub OPenFile()
    Dim strCampos() As String, strTextoLinea As String, _
        Archivo As String
    Dim A As Long
    Dim NumArchivo As Integer
   
    Archivo = txtRutaLocal.Text & txtNomArchivo.Text
    NumArchivo = FreeFile()
   
    Open Archivo For Input As #NumArchivo
        Do While Not EOF(NumArchivo)
            Line Input #NumArchivo, strTextoLinea
            strCampos() = Split(strTextoLinea, "|")
            'MsgBox strCampos(0) 'AQUÍ SE CONOCE EL PRIMER REGISTRO
            'AQUÍ SE CREA LA BD CON EL NOMBRE DEL ARCHIVO
            'AQUÍ SE CREA LA TABLA CON EL NOMBRE DEL DATO 0
            For A = 0 To UBound(strCampos) - 1
                strDato = strCampos(A)
                MsgBox strDato
                'AQUÍ SE INSERTAN LOS DATOS EN DICHA TABLA
            Next A
        Loop
    Close #NumArchivo
End Sub


Los Objetos txtRutaLocal.Text y txtNomArchivo.Text son dos cuadros de texto que contienen la ruta y el nombre del archivo (pueden sustituirse por "C:\Archivo.txt")