Cómo importo un archivo txt sin el texto que tiene de títulos y fechas?

Tengo un archivo txt que tengo que importar a una tabla de access para poder trabajarlo. El tema es que no se cómo borrar los títulos. El formato sería como el que muestro más abajo. Yo necesito mi tabla con los datos de cliente, cuenta, fecha y sucursal. El problema es que no sé como sacar todo el texto de arriba, también tengo que sacar todas las --------- . Y la sucursal que la tengo en el título debeería ir como una columna más. El archivo está dividido por sucursal, por eso puede haber tantas hojas como sucursales haya y la cantidad de clientes por sucursal, o sea por hoja, siempre es variable. Cuando termina una hoja vuelve a empezar otra con sucursal.

Agradezco desde ya si me pueden ayudar en cómo importar este archivo txt para verlo desde una tabla de access con el formato que necesito que sería sólo los 4 campos cliente, cuenta, fecha y sucursal.

xxxxxxxxxx 19-05-2022                       xxxxxxxxxxxxxxxxxxxxxxxxx                     HOJA NRO.: 4
sucursal: 9999 - xxxxxxx             xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
------------------------------------------------------------------------------------------------------------------------------------
nombre cliente                                                    cuenta                                            fecha pedido
------------------------------------------------------------------------------------------------------------------------------------
JUAN PEREZ                                                       XXXX-XXXXXXXXXXXX              13-04-2022
JUANA GONZALEZ                                            XXXX-XXXXXXXXXXXX              16-11-2021
MARIA GIMENEZ                                                XXXX-XXXXXXXXXXXX              08-03-2022

LUIS SANCHEZ                                                   XXXX-XXXXXXXXXXXX               23-05-2022
ZZZZZZZ 19-05-2022                        XXXXXXXXXXXXXXXXXXXXXXXXX                   HOJA NRO.: 5
sucursal: 0000 - XXXXXX          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

------------------------------------------------------------------------------------------------------------------------------------
nombre cliente                                                    cuenta                                            fecha pedido
------------------------------------------------------------------------------------------------------------------------------------
JUAN PEREZ                                                       XXXX-XXXXXXXXXXXX              03-01-2022

2 Respuestas

Respuesta
1

Si puede suministrar el archivo para analizarlo podría entrar a colaborarle. Si quiere envíeme el archivo o parte de éste a [email protected]

Puede utilizar FileSystemObject, por ejemplo.

Sub reemplazartxt()
    Dim objFSO
    Dim objTS 'define a TextStream object
    Dim strContents As String
    Dim fileSpec As String
    Const ForReading = 1
    Const ForWriting = 2
    fileSpec = CurrentProject.Path & "\test.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTS = objFSO.OpenTextFile(fileSpec, ForReading)
    strContents = objTS.ReadAll
    strContents = Replace(strContents, "Sucursal", "")
    strContents = Replace(strContents, "-", "")
    strContents = Replace(strContents, "XXXX", "YYYY")
    objTS.Close
    Set objTS = objFSO.OpenTextFile(fileSpec, ForWriting)
    objTS.Write strContents
    objTS.Close
End Sub

Esto es una idea su caso requiere muchos cambios.

Respuesta
1

Se puede hacer, Access tiene herramientas para ello, lo único que se precisa es crear un esquema (algo similar a una plantilla).

Revise los apuntes que posea (o la ayuda de Access) tomando como referencia a Input#

Se lee el fichero línea a línea y se analiza la cabecera, según el resultado se desprecia o se trabaja creando los registros con los datos obtenidos.

Este tipo de fichero es básico en su construcción y (normalmente) esta tabulado a espaciado fijo, lo que facilita obtener el contenido.

Cuando lo vea claro (y si tras el análisis lo ve alcanzable) se podrá continuar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas