FoxPro/Visual FoxPro - Volvi!!.. ¿Cómo pasar datos de esta forma..? :)

   
Vista:

Volvi!!.. ¿Cómo pasar datos de esta forma..? :)

Publicado por Andrea (325 intervenciones) el 27/04/2009 20:58:35
Hola a todos!!

Un potencial cliente tiene un progrma hecho en FoxPro 2.6 y por lo tanto, las tablas son DBF.

Tengo que "convertir" esas tablas a las que usa mi programa pero SIN BORRAR las que ellos están utilizando, con algunas características:

- Debo agregar algunos campos que no están en la estructura vieja
- Debo quitar algunos campos que no sirven
- Debo renombrar otros campos o cambiarle las características (longitud, tipo de datos)

Todo esto debo hacerlo en un programa (aparte) en forma automática para que lo puedan correr tantas veces lo necesiten mientras el programa corra en paralelo con el viejo.

¿CUÁL ES LA FORMA QUE USTEDES ME RECOMIENDAN? ¿CON QUÉ INSTRUCCIONES?

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

RE:Volvi!!.. ¿Cómo pasar datos de esta forma..? :)

Publicado por Vicente (61 intervenciones) el 27/04/2009 21:14:55
Hola, quizá esto sería lo mejor:

Porque no creas una tabla de donde tengas los campos que desees y si el problema es el nombre de la tabla igual a la de dbf, ponlas en un directorio o carpeta aparte y en el programa de vfp le cambias la ruta.

Ahora, tendrías que elaborar una rutina para que cada vez que ejecuten la aplicación 'borre' los datos de la tabla y luego insertas los datos para que se actualize tal tabla, claro está que debes de incluír rutinas de validación, como por ejemplo que la tabla que vas a limpiar no esté abierta en ese momento, etc, etc.

Intenta mejor de esta manera para que no vayas a dañar las dbf del sistema anterior y puedas trabajar en 'paralelo' con las dos aplicaciones.

Espero te sirva de algo mi comentario.

Salu2
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

Gracias pero...

Publicado por Andrea (325 intervenciones) el 27/04/2009 22:35:44
Gracias Vicente por la sugerencia

Necesitaría saber en qué forma (comandos) harían este proceso

¿Qué es lo que ustedes me recomiendan? (Por lo que pude leer hay varias formas, pero necesitaría que me orienten según sus experiencias)

Muchas gracias!!
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:Gracias pero...

Publicado por neo (1601 intervenciones) el 28/04/2009 02:43:37
no se si se puede en fox pero por lo general lo hago asi:

creo una tabla en vfp con los campos que copiaría de la dbf de fox

Append from C:Tabla_viejita.dbf fields dato1, dato2, dato3
Close databases
clear all


Revisa además las opciones en la ayuda de "COPY TO" "APPEND FROM"

Suerte!!
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

tablas compatibles

Publicado por andy (221 intervenciones) el 28/04/2009 03:14:47
Lo que sugieron los muchachos es correcto, ahora bien, te recuerdo que las tablas creadas por foxpro 2.6 para window son compatible con VFP (no asi al reves), o sea que salvo que necesites imperiosamente cambiarle los nombres a los campos, no hace falta modificar nada. Puedes agregarle campos a las tablas originales y desarrollar tu nueva aplicacion utilizando esas. He realizado actualizaciones de sistemas, sin cambiar las tablas originales. Tengo un sistema originalmente empezado en Foxpro 2.0, luego en Foxpro para Window y ahora paso a VFP. En este caso, por ejemplo, el cliente sigue utilizando el programa "administrativo" en FPw26, y tengo otras aplicaciones de Venta hechas en VFP que acceden por red a las tablas originales. Espero que lo que te cuento te sirva de orientacion para tu problema, cualquier cosa vuelves a postear,
Suerte
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:Volvi!!.. ¿Cómo pasar datos de esta forma..? :)

Publicado por jose camilo (688 intervenciones) el 28/04/2009 14:52:59
select 1
use tablanueva excl
zap

select 2
use tablavieja

do while !eof()
Scatter memvar
select 1
appen blank
replace bla bla bla
replace bla bla bla
select 2
Skip
EndDO

por cada juego de tabla lo mismo
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