FSO

30/10/2003 - 01:35 por Jimy | Informe spam
Tengo que leer información que viene en un fichero de texto para
incorporarla a una BD.
El número de columnas es siempre el mismo, pero la longitud de cada una es
variable y están separadas por tabulación. También puede que una columna
esté vacía, por lo que habría dos tabulaciones seguidas.
También es variable el número de filas y están separadas por salto de línea,
retorno de carro. Por ejemplo

1 F5465464 CALZADOS UNIVERSAL, S.L. 654654 955995 25
1 A65455 REUNIONES, C.B. 545412 7704477 33
...

No sé muy bien cómo tratar la lectura del fichero para ir asignando las
columnas a variables para luego grabar la BD.
Caracter a caracter hasta encontrar la tabulación parece un método un poco
"basto".
Alguien tiene alguna idea o algo de código que ya haya hecho?

Salu2
 

Leer las respuestas

#1 Gio
30/10/2003 - 02:24 | Informe spam
Revisate este codigo

'ABRE EL ARCHIVO A PROCESAR'
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile(PATH & "codigoreferencial.txt")

'ABRE CONEXION
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open CONNECTIONSTRING

'ITERA SOBRE LAS LINEAS DEL ARCHIVO
Do While Not a.AtEndOfStream
strRespuesta = a.ReadLine

'GUARDA LOS CAMPOS DE LA LINEA EN UN ARREGLO'
arrCamposLinea = Split(strRespuesta ,Chr(9), -1, 1)

idqqq = arrCamposLinea(0)
idsss = arrCamposLinea(1)
idmaterial = arrCamposLinea(2)
cantidad = arrCamposLinea(3)
idproducto = arrCamposLinea(4)
idvariant = 1

'INSERTA CODIGO
strsql = "INSERT INTO CODIGOREFERENCIAL (IDPRODUCTO, IDMATERIALBASICO,
IDUNIDADPRODUCTO, IDUNIDADMATERIALBASICO, CANTIDAD, IDQQQ, IDSSS) VALUES
("&idproducto&", "&idmaterial&", 12, 6, "&cantidad&", "&idqqq&", "&idsss&")"
conn.execute(strsql)
Loop

Preguntas similares