IMPORTAR FICHERO ASCII
Publicado por Ramón (27 intervenciones) el 02/08/2005 20:23:26
Hola, tengo un verdadero problema y es que no sé cómo puedo hacer la siguiente importación de un fichero ASCII con "Ancho Fijo", es decir, sin limitador alguno, utilizo ACCESS-97:
He aquí un ejemplo del ficherito en cuestión:
002550A001903213400500124200100000073002529010000007951083001000000945236020100000063011617010000005402261801000000598102131250705
0025501859501000001498213340100000064002844010000004301129901000001376108280100000059807561010000009951258001000000620112131250705
0025500253701000000480120060100000069510619010000008980752801000000650124210100000069923946010000003950251401000000895122131250705
0025500807701000000820081000100000109512593010000008351836001000000748082480100000065012823010000008500627201000001795132131250705
0025501082901000001045102310100000060008518010000010200245101000000470174790100000063502279010000007750106401000000870142131250705
0025501745901000000751026130100000082510620010000009002261501000000850078350100000077823601010000007150000000000000000152131250705
En la 1ª línea tengo la cabecera del ticket que va del dígito 1 al 22 ó sea 002550A001903213400500 -> todo esto es la cabecera del ticket
en la posición 7 siempre tendré la "A" cuando empiece un nuevo ticket, en este caso solo hay un ticket por lo tanto una sola "A" en todo el fichero de texto.
Del dígito 18 al 22 ó sea el "00500" me dice el vendedor
Después, en EL DIGITO 23 de la 1ª linea del ticket empieza el cuerpo del ticket que cada ciertos digitos significan una cosa, el codigo (5 digitos), la cantidad(5 digitos), el signo(1 digito), el importe(5 digitos) y así se va repitiendo hasta encontrarse con UN RETORNO DE CARRO, los últimos 10 dígitos ANTES del retorno de carro son la HORA y LA
FECHA --> 2131250705, que como verás se repite en cada línea antes del retorno de carro.
Después del retorno de carro, hay 6 DIGITOS QUE NO TENGO QUE IMPORTAR ó sea que si después del retorno de carro SI en el 7 DIGITO NO HAY UNA "A", desprecio los 6 dígitos primeros de esa linea (en este fichero tendrán este valor : "002550") y empiezo otra vez a IMPORTAR, CODIGO,CANTIDAD,SIGNO,IMPORTE....
He de importar sólo los registros de los vendedores que le indique, por ejemplo, del 00500 al 00552, y sólo ha de importarme los tickets que sean de esos vendedores, EL RESTO DE TICKETS SE DESPRECIAN y para el colmo de los colmos debo BORRAR esos tickets importados del fichero ASCII, para que así esté siempre saneado y sólo tenga los últimos tickets realizados en el ASCII y los pendientes de importar.
Ufffffffff !!!! vaya lío....si puedes ayudarme y necesitas mas datos, por favor, dime como puedo localizarte por E-Mail ó telefono si quieres y yo te llamo.
Muchasssss graciassssss de antemano.
Saludos
Ramón
He aquí un ejemplo del ficherito en cuestión:
002550A001903213400500124200100000073002529010000007951083001000000945236020100000063011617010000005402261801000000598102131250705
0025501859501000001498213340100000064002844010000004301129901000001376108280100000059807561010000009951258001000000620112131250705
0025500253701000000480120060100000069510619010000008980752801000000650124210100000069923946010000003950251401000000895122131250705
0025500807701000000820081000100000109512593010000008351836001000000748082480100000065012823010000008500627201000001795132131250705
0025501082901000001045102310100000060008518010000010200245101000000470174790100000063502279010000007750106401000000870142131250705
0025501745901000000751026130100000082510620010000009002261501000000850078350100000077823601010000007150000000000000000152131250705
En la 1ª línea tengo la cabecera del ticket que va del dígito 1 al 22 ó sea 002550A001903213400500 -> todo esto es la cabecera del ticket
en la posición 7 siempre tendré la "A" cuando empiece un nuevo ticket, en este caso solo hay un ticket por lo tanto una sola "A" en todo el fichero de texto.
Del dígito 18 al 22 ó sea el "00500" me dice el vendedor
Después, en EL DIGITO 23 de la 1ª linea del ticket empieza el cuerpo del ticket que cada ciertos digitos significan una cosa, el codigo (5 digitos), la cantidad(5 digitos), el signo(1 digito), el importe(5 digitos) y así se va repitiendo hasta encontrarse con UN RETORNO DE CARRO, los últimos 10 dígitos ANTES del retorno de carro son la HORA y LA
FECHA --> 2131250705, que como verás se repite en cada línea antes del retorno de carro.
Después del retorno de carro, hay 6 DIGITOS QUE NO TENGO QUE IMPORTAR ó sea que si después del retorno de carro SI en el 7 DIGITO NO HAY UNA "A", desprecio los 6 dígitos primeros de esa linea (en este fichero tendrán este valor : "002550") y empiezo otra vez a IMPORTAR, CODIGO,CANTIDAD,SIGNO,IMPORTE....
He de importar sólo los registros de los vendedores que le indique, por ejemplo, del 00500 al 00552, y sólo ha de importarme los tickets que sean de esos vendedores, EL RESTO DE TICKETS SE DESPRECIAN y para el colmo de los colmos debo BORRAR esos tickets importados del fichero ASCII, para que así esté siempre saneado y sólo tenga los últimos tickets realizados en el ASCII y los pendientes de importar.
Ufffffffff !!!! vaya lío....si puedes ayudarme y necesitas mas datos, por favor, dime como puedo localizarte por E-Mail ó telefono si quieres y yo te llamo.
Muchasssss graciassssss de antemano.
Saludos
Ramón
Valora esta pregunta


0