FoxPro/Visual FoxPro - Leer archivo .txt y cargar a dbf

 
Vista:
Imágen de perfil de Edgardo
Val: 18
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Leer archivo .txt y cargar a dbf

Publicado por Edgardo (12 intervenciones) el 21/08/2015 17:51:24
Hola amigos
Estoy tratando de leer un archivo .txt y cargarlo a dbf utilizando

APPE FROM archivo.txt TYPE SDF

Mi problema es que el .txt tiene campos de largo 266 y en .dbf el máximo largo de los caracteres es 254.

Hay alguna forma de solucionarlo
Desde ya muchas 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

Leer archivo .txt y cargar a dbf

Publicado por Eduardo Ureña (19 intervenciones) el 21/08/2015 22:59:40
Probaste creando un campo memo para ese dato?
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Leer archivo .txt y cargar a dbf

Publicado por Fidel José (657 intervenciones) el 22/08/2015 00:44:51
Lo más fácil es crear un cursor que haga de intermediario, con campos agregados.
Supongamos que la tabla tenga ("fecha" D ,"camtex1" c(254) , camtex2 c(254) )
El cursor intermediario tendría que ser ("fecha" D, "camtex1" c(254) , "camtex11" c(12), "camtex2" c(254), "camtex21" c(12) )

Ahora puedes hacer el append from al cursor intermediario. Luego puedes hacer una de dos cosas:
1) SELECT TABLA
APPEND FROM DBF("CURSOR_INTERMEDIARIO")
&& con esto pierdes los 12 caraceteres de los campos anexados

2) Cambiar en la tabla los campos camtext1 y camtex2 a MEMO.
No podrás usar append from. Tendrás que hacer un SCAN / ENDSCAN sobre el cursor con INSERT INTO tabla
SELECT Cursor_Intermediario
SCAN
lcString1 = trim(camtex1)+camtex11
lcString2 = trim(camtex2)+camtex21
INSERT INTO TABLA (fecha, Memotex1 , Memotex2 ) ;
values (Cursor_intermediario.fecha , m.lcString1 , m.lcString2)

ENDSCAN
&& con esto guardas toda la información en tu tabla.
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