FoxPro/Visual FoxPro - DUDA TECNICA

 
Vista:

DUDA TECNICA

Publicado por BZUNIGA (6 intervenciones) el 20/04/2007 15:42:19
Hola que tal, tengo una duda tecnica, estoy modificando un sistemas q fue desarrollado en fox para dos, y apenas me estoy enrolando en el uso de sintaxis y logica de FOX PRO para DOS :S.

Mi problema es que estoy haciendo un ciclo en donde uso dos tablas para traspasar datos d una a otra, es decir , en la tabla1 busco los datos de una clave y en seguida busco la clave en la Tabla 2 e incerto los datos.

Sin embargo al pasar con el USE de una tabala a otra pierdo el registro en el que me habia quedado enla Tabla1. ALGUIEN ME PUEDE RECOMENDAR COMO HACER ESTO CORRECTAMENTE ?. GRACIAS !

El codigo es el siguiente (EN RESUMEN)

SELEC 1
USE Tabla1 INDEX CLAVE
SELEC 2
USE Tabal2 INDEX CONV

DO WHILE .T.
SELEC 1

IF EOF()
EXIT
ENDIF

CVE = CLAVE
FOL = FOLIO
NET = NETO

SKIP

SELEC 2
SEEK CVE
REPLACE LI_FOLENE WITH FOL,LI_NETENE WITH NET

LOOP

ENDDO
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:DUDA TECNICA

Publicado por andres (56 intervenciones) el 20/04/2007 16:37:33
Lo que te falta es guardar en una variable el lugar del registro (con recno() )
y luego de abrir la tabla (USE Tabal2 INDEX CONV), hacer lo que tengas que hacer, luego abrir nuevamente la tabla original (USE Tabla1 INDEX CLAVE )
ir al registro donde estabas (con GOTO) y saltar al siguiente.
Tu ciclo quedaria asi:

SELEC 1
USE Tabla1 INDEX CLAVE
SELEC 2
USE Tabal2 INDEX CONV

SELECT 1
do while.not.eof() && REPITE EL CICLO HASTA EL FINAL DE LA TABLA
CVE = CLAVE
FOL = FOLIO
NET = NETO
*********************** && ACA GUARDA EL Nº DE REGISTRO
store recno() to rec
*******************************************************************
SELECT 2
SEEK CVE
REPLACE LI_FOLENE WITH FOL,LI_NETENE WITH NET
SELECT 1
***************** VOLVES AL REGISTRO EN QUE ESTABAS
GOTO rec && Tambien puedes poner : LOCATE FOR RECNO()=REC
SKIP && SALTAS AL SIGUIENTE
ENDDO
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:DUDA TECNICA

Publicado por BZUNIGA (6 intervenciones) el 20/04/2007 17:06:27
MUCHAS GRACIAS ANDRES :D ... POR FIN FUNCIONO !!!
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