Hola, Tengo un archivo de texto con campos separados con pipes (|) y deseo importarlos en una tabla de access, ¿cómo puedo hacerlo de la manera más sencilla y eficiente? Gracias por tu gentil cooperación. Atentamente. EZ
1 Respuesta
Respuesta de denciso
1
1
denciso, Soy una persona multifacética, tanto manejo la informática,...
Tienes que realizar un programa que lea línea por línea tu archivo y vaya localizando los pipes, de ahí armas variables de memoria para cada campo y después generas un insert de sql con ADO y listo.
¿Me puedes aclarar un poco de como debo abrir el archivo de tipo texto para leerlo linea por linea y así poder hacer la selección de campos por cada pipe?
Checa el siguiente código y adáptalo, abre y crea un archivo al mismo tiempo. Dim sRegistro As String 'Contenido del Registro Dim iNumFile As Integer 'Numero de Archivo del DOS Dim iPos As Long Dim smodMsg As String 'modificacion 10/11/97 Dim giRetorna As Integer Screen.MousePointer = vbHourglass 'sprDatos.ReDraw = False 'Inicia Apertura del Archivo On Local Error GoTo ErrorOpenFile1 'sprDatos.MaxRows = NULL_INTEGER 'Obtiene un número de archivo libre iNumFile = FreeFile ' iNumFile2 = FreeFile 'Abre el Archivo y Lee el Primer registro Open Trim$(Me.txtFile.Text) For Input As iNumFile ' asignamos el nombre de salida igual al leido menos la extensión sRegistro = Left$(Trim$(Me.txtFile.Text), Len(Trim$(Me.txtFile.Text)) - 6) & "HTML" Open sRegistro For Output As #2 iPos = 1 'Inicia lectura del Archivo While Not EOF(iNumFile) 'Leo la Linea del Registro Line Input #iNumFile, sRegistro ' If InStr(1, sRegistro, "12345X") = 0 Then Select Case iPos Case 2 ' se trata de la segunda línea Case 3 ' se trata de la línea de titulos 'Print #2, "<B><A style={color=blue;} HREF=http://www.planet-source-code.com/vb/scripts/BrowseCategoryOrSearchResults.asp?txtCriteria=omar+vivas&blnWorldDropDownUsed=TRUE&txtMaxNumberOfEntriesPerPage=10&blnResetAllVariables=TRUE&lngWId=1&B1=Quick+Search&optSort=Alphabetical TARGET=_new><font size=2 face=Arial, Helvetica, sans-serif>Omar Vivas, MCP, MCSD, MCDBA, MCSE</font></A></B>" Print #2, "<h1><b>" & sRegistro & "</b></h1>" Case 4, 5, 6, 7, 8, 9, 10 ' se trata de las líneas de subtitulos 'Print #2, "<B><A style={color=blue;} HREF=http://www.planet-source-code.com/vb/scripts/BrowseCategoryOrSearchResults.asp?txtCriteria=omar+vivas&blnWorldDropDownUsed=TRUE&txtMaxNumberOfEntriesPerPage=10&blnResetAllVariables=TRUE&lngWId=1&B1=Quick+Search&optSort=Alphabetical TARGET=_new><font size=2 face=Arial, Helvetica, sans-serif>Omar Vivas, MCP, MCSD, MCDBA, MCSE</font></A></B>" Print #2, "<h2><b>" & sRegistro & "</b></h2>" Case Is >= 11 Print #2, sRegistro End Select iPos = iPos + 1 ' Print #2, "<h5> ASP Verified</h5>" '' Print #2, "<h5> Root " & txtRuta(0).Text & " </h5>" ' Print #2, "<h5> " & Date & " </h5>" ' Print #2, "<h5> " & Time & " </h5>" ' End If ' Open sPath & "ASPLogs.txt" For Output As #1 ' Open sPath & "PaginasMalas.html" For Output As #2 ' Open sPath & "Errores.html" For Output As #3 ' ' 'Print #2, "<image src='ease.bmp'> </image>" ' Print #2, "<B><A style={color=blue;} HREF=http://www.planet-source-code.com/vb/scripts/BrowseCategoryOrSearchResults.asp?txtCriteria=omar+vivas&blnWorldDropDownUsed=TRUE&txtMaxNumberOfEntriesPerPage=10&blnResetAllVariables=TRUE&lngWId=1&B1=Quick+Search&optSort=Alphabetical TARGET=_new><font size=2 face=Arial, Helvetica, sans-serif>Omar Vivas, MCP, MCSD, MCDBA, MCSE</font></A></B>" ' Print #2, "<h5> ASP Verified</h5>" ' Print #2, "<h5> Root " & txtRuta(0).Text & " </h5>" ' Print #2, "<h5> " & Date & " </h5>" ' Print #2, "<h5> " & Time & " </h5>" Wend 'Cierra el Archivo Close #iNumFile Close #2 Screen.MousePointer = vbDefault Exit Sub ErrorOpenFile1: smodMsg = " Ocurrió un Error al Abrir el Archivo a Integrar" 'Despliega el mensaje que se armo anteriormente iPos = MsgBox(smodMsg, vbCritical) Close #iNumFile Close #2 Exit Sub