SOS - Convertir archivo.txt a Tabla VFP mediante programacion

02/04/2004 - 21:35 por Raul Hernandez | Informe spam
Hola que tal, necesito ayuda, alguien sabe algun comando que pueda
utilizar para convertir un archivo .txt a tabla de visual fox pro?, estoy
trabajando con la version 5, he probado con :
APPEND FROM moviment.txt , pero no me deja hacerlo debido a que el archivo
tiene una secuencia
de 16 digitos( sin estar entre conillas) por renglon, de la siguiente
manera:

0219023020410261
0216723020411310
0224923020412250
...
...
..
etc.

supongo que como no estan entre comillas, me manda el mensaje de que el
archivo de texto no es una tabla.

probe tambien con el comando :

import from moviment.txt type TIPO

pero no encuentro que valor lleva TIPO, ya probe con txt y ascii y no me
deja.

no se si exista en fox pro alguna forma de pasar directamente este archivo
a tabla o algunos comandos para la manipulacion de archivos de texto, para
abrir el archivo e ir leyendo linea por linea para pasarlo a una tabla y
cerrar el archivo



-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similare

Leer las respuestas

#1 Edgar Ortiz
02/04/2004 - 21:56 | Informe spam
Raul,
Una solucion rapida seria, cargar un cursor con los datos del archivo TXT y
despues agregar los datos a la tabla correspondiente.

Create Cursor Tmp_Work ( Data C(250) )

SELECT Tmp_Work
Append FROM Moviment.Txt

Select Tmp_Work
X_Fin = EOF()
DO WHILE NOT X_Fin
Campo1 = SUBSTR(Tmp_Work,1,5) && Para ilustar el manejo de tus campos
Campo2 = SUBSTR(Tmp_Work,6,2)
INSERT INTO Tu_Tabla (Codigo, Valor) VALUES (Campo1, Campo2)
Select Tmp_Work
Skip
X_Fin = EOF()
ENDIF

Espero te sirva.


"Raul Hernandez" wrote in message
news:%
Hola que tal, necesito ayuda, alguien sabe algun comando que pueda
utilizar para convertir un archivo .txt a tabla de visual fox pro?, estoy
trabajando con la version 5, he probado con :
APPEND FROM moviment.txt , pero no me deja hacerlo debido a que el archivo
tiene una secuencia
de 16 digitos( sin estar entre conillas) por renglon, de la siguiente
manera:

0219023020410261
0216723020411310
0224923020412250
...
...
..
etc.

supongo que como no estan entre comillas, me manda el mensaje de que el
archivo de texto no es una tabla.

probe tambien con el comando :

import from moviment.txt type TIPO

pero no encuentro que valor lleva TIPO, ya probe con txt y ascii y no me
deja.

no se si exista en fox pro alguna forma de pasar directamente este archivo
a tabla o algunos comandos para la manipulacion de archivos de texto, para
abrir el archivo e ir leyendo linea por linea para pasarlo a una tabla y
cerrar el archivo




PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#2 Raul Hernandez
02/04/2004 - 23:36 | Informe spam
Que tal edgar, gracias por el codigo, pero ya habia probado con:

Append FROM Moviment.Txt

y me bota el programa, me envia un mensaje que dice "Error del programa,
No es una tabla"

no se si sea por que el archivo de texto, no tiene encerrado entre
comillas la secuencia de numeros?
analizando el codigo con el debugger veo que precisamente es en el append
from dode se detiene, que podria hacer?.

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
Respuesta Responder a este mensaje
#3 Edgar Ortiz
03/04/2004 - 10:23 | Informe spam
Raul,
Estas seguro que NO te funciona el Codigo que te mande??

De ser asi, si gustas enviame el TXT a mi email y con gusto reviso cual es
el problema

Saludos,

Edgar


"Raul Hernandez" wrote in message
news:
Que tal edgar, gracias por el codigo, pero ya habia probado con:

Append FROM Moviment.Txt

y me bota el programa, me envia un mensaje que dice "Error del programa,
No es una tabla"

no se si sea por que el archivo de texto, no tiene encerrado entre
comillas la secuencia de numeros?
analizando el codigo con el debugger veo que precisamente es en el append
from dode se detiene, que podria hacer?.


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#4 José García Rey
03/04/2004 - 14:33 | Informe spam
Mira, primero te creas una tabla vacía, con la estructura del fichero que
quieres importar. Te aconsejo que todos los campos sean tipo carácter.

A continuación,

USE Nombre_Tabla
APPEN FROM Nombre_Archivo.txt TYPE SDF

Si no te funciona el "TYPE SDF" puedes probar con DELIMITED

Puedes obtener ayuda de estas especificaciones en el propio Visual Fox

Esto funciona, seguro

Tie


"Raul Hernandez" escribió en el mensaje
news:%
Hola que tal, necesito ayuda, alguien sabe algun comando que pueda
utilizar para convertir un archivo .txt a tabla de visual fox pro?, estoy
trabajando con la version 5, he probado con :
APPEND FROM moviment.txt , pero no me deja hacerlo debido a que el archivo
tiene una secuencia
de 16 digitos( sin estar entre conillas) por renglon, de la siguiente
manera:

0219023020410261
0216723020411310
0224923020412250
...
...
..
etc.

supongo que como no estan entre comillas, me manda el mensaje de que el
archivo de texto no es una tabla.

probe tambien con el comando :

import from moviment.txt type TIPO

pero no encuentro que valor lleva TIPO, ya probe con txt y ascii y no me
deja.

no se si exista en fox pro alguna forma de pasar directamente este archivo
a tabla o algunos comandos para la manipulacion de archivos de texto, para
abrir el archivo e ir leyendo linea por linea para pasarlo a una tabla y
cerrar el archivo




PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#5 Jose Maria VIlar
03/04/2004 - 17:07 | Informe spam
La manera en que yo me manejo es utilizando funciones
para este manejo que queres hacer.


* Apertura del archivo ******
* asignando el port abierto a la variable lc_hand ********

lc_hand = fopen("tu_archivo_txt")


si conoceces la cantidad de lineas que tienes podes hacer
use tu_tabla

For a = 1 to cant_lineas
linea = fgets(lc_hand)
appe blank
replace tu_campo1 with subst(linea,...,...) lo que
necesites
replace tu_campo2 ..
etc (segun la cantidad de campos)
endfor

=fclose(lc_hand)

Te aconsejo que leas la ayuda de todas estas funciones
para ver opciones no mencionadas
Si no conoces la cantidad de lineas podes calcularla con
las mismas funciones o poner una cantidad en el "for" que
te asegure tomar todas o utilizar "while" hasta que no
encuentres datos etc etc.

Espero haberme echo entender sino escribeme que te hago
la rutina


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida