Reemplazar Valores en una tabla de VFP 6.0

Amigo, tengo un problema y necesito de su ayuda...
Consiste en lo siguiente, Tengo dos tablas en VFP 6.0 y el campo común entre las dos tablas es el código, lo que necesito es sustituir el "Stock Nuevo" de la Tabla # 2 en el campo "Stock" de la Tabla # 1 pero siempre y cuando el "Código" de la Tabla # 2 coincida con el "Código" de la Tabla # 1
Ejemplo:
Tabla # 1
Código -----Descripción ----- Stock
Tabla # 2
Código ----- Stock Nuevo
Saludos,
Daniel Rangosch

2 respuestas

1
Respuesta de
Hola como estas, bueno para mi la forma más segura de hacer esta actualización de stock es buscar uno por uno los registros de la tabla 2 en la uno y reemplazar su valor. No se en que momento de tu aplicación lo haces o si son mucho los registro que tienes que modificar pero el código podría se algo así.
Ordenar tabla 1
Seleccionar tabla dos
Mientras no llegue al final del registro
buscar el codigo en tabla 1.remplazar .avanzar un registro en tabla 2
en codigo seria algo asi
sele tabla1
set order to codigo  
sele tabla2
go top
do while !eof()
 se le tabla1
 seek talba2.codigo
 if  tabla1.codigo=tabla2.codigo
     repla stock while tabla2.stocknuevo
Endif
  Se le tabla2
  skip
enddo
De esta manera comenzás desde arriba de la tabla 2 y buscas de aúno los registros en la tabla1 (el if es un control más no hace falta). Después de actualizar el stock te pasas al próximo registro de la tabla2 y haces lo mismo. Esto puede tardar un poco si son muchos registros, muchos son unos 10.000 para arriba. Tengo algunos ejemplos si me dejas tu mail te los paso, mucha suerte y espero que te sirva si no es así avisame y buscamos la forma :) .
Añade un comentario a esta respuesta
1
Respuesta de
Lo que puedes hacer, es crearle a ambas tablas un indice en el campo código, y activar ese indice.
Luego ejecutas este código
Se le tabla2
SET RELATION TO cod INTO Tabla1 ADDITIVE
replace all stock wirh tabla1.stock
Espero te sirva
Fernando
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje