Visual Basic - Como buscar en archivos planos

Life is soft - evento anual de software empresarial
 
Vista:

Como buscar en archivos planos

Publicado por Romi (11 intervenciones) el 19/02/2009 19:54:48
Amigos, tengo esta duda, me pueden ayudar.

resulta que tengo 2 archivos planos que me lelgan por correo con la informacion de una seria de facturas.

en el primer archivo vienen las facturas rechazadas y en el segundo archivo vienen las facturas aprobadas mas las rechazadas, es decir en el segundo archivo vienen tantos las aprobadas como las rechazadas.

entonces yo estoy queriendo hacer un mach entre los 2 archivos, estoy tratando de ir a leer del archivo de facturas rechazadas, extraer el numero de la factura y buscarlor en el archivo de facturas aprobadas, si lo encuentro quiero actualizar ya una posicion especifica de este segundo archivo con algun codigo que me indique que dicha factura fue rechazada, asi de esa manera tendre identificados las facturas aprobadas de las rechaadas.

yo soy capaz de leer el archivo de las rechazadas, extraer el numero de la factura rechazada, loq ue no he podido es buscar esa factura en el segundo archivo y menos actualizarla con la marca de rechazadas.

alguientiene alguna idea de como buscar una informacion en un archivo plano y si la encuentro actualizar una posicion especifica y guardarlo.

todo esto en VB6.0

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como buscar en archivos planos

Publicado por P3L30N2009 (699 intervenciones) el 20/02/2009 10:33:33
Así de bote pronto, se me ocurre lo siguiente:

Creas dos tablas temporales en una BD (Access, MySQL o cualquier otra), una va a guardar los registros del txt en el que vienen todas las facturas y la otra con las facturas rechazadas.

A la primera tabla, además de los campos que traiga el txt, le creas un nuevo campo de tipo booleano, que le puedes llamar p.e. "Rechazada".

Abres cada uno de los archivos para lectura (Input) y los cargas en su tabla correspondiente con una instrucción INSERT INTO, ua vez hecho esto, conectas un recordset a la primera de las tablas y en un bucle Do Until recordset1.EOF vas cargando en una variable el número de factura y haces una consulta a la segunda tabla de tipo recordset2.Open "SELECT factura WHERE factura = '" & variable & "'" si devuelve algún registro es que la factura está rechazada, en ese caso le haces a la tabla1 un UPDATE al campo "Rechazada" = True.

Una vez finalizado este poceso, ya tienes una tabla con todas las facturas y con un campo que indica si la factura está rechazada o no.

Si ahora quieres guardar esos datos un un archivo plano, haces la inversa (guardas de la tabla al txt) abriendo un archivo en modo de escritura (Output) y mediante el método GetString del recordset ADO cargas el txt, sería algo así:

Print #canal, recordset.GetString(adClipString,, ",", vbCrLf)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como buscar en archivos planos

Publicado por Romi (11 intervenciones) el 20/02/2009 15:34:51
Ok amigo, gracias por la idea, la tomare en cuenta, vamos haber como me sale.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar