FoxPro/Visual FoxPro - Reemplazar el valor d los campos por las variables

 
Vista:

Reemplazar el valor d los campos por las variables

Publicado por Zulvic (33 intervenciones) el 20/08/2003 15:26:16
Hola estoy realizando un programa en donde calculo el sueldo de un trabajador, todo me lo hace bien, y cuando guardo el calculo mando a reemplazar el sueldo, que es uno de los campos del trabajador en una tabla, asi:
select empleado
append blank
replace cedula with vcedula
replace nombre with vnombre
replace apellido with vapellido
replace sueldo with nsueldo
*se remplazan los campos de la tabala con los valores de las variables
thisform.refresh
cuando calculo el sueldo quiero que lo remplaze, pero cada ves que consulto al mismo empleado y guardo la operacion de nuevo me lo guarda en la tabla nuevamente, entonces lo que quiero saber es como le hago para que me vaya actualizando el mismo empleado con su nuevo sueldo, por ejemplo:si su sueldo era por decir 400.000, y luego se lo calculo de nuevo y es de 450.000, que se lo vaya actualizando sin necesidad de repetir el empleado nuevamente.

cedula nombre apellido sueldo
10123456 jose perez 400.000
15789523 maria sanchez 500.000
10123456 jose perez 450.000

lo que quiero es evitar eso, que me vaya incrementando el sueldo asi,
10123456 jose perez 450.000
15789523 maria sanchez 500.000,

como lo hago, porfavor necesito ayuda!!!!!!!!!!!!!!!!
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:Reemplazar el valor d los campos por las variab

Publicado por Upliftmofopartyplan (265 intervenciones) el 20/08/2003 17:46:09
Hola!!
el problema está en el append blank, siempre que lo uses agregas un registro, el puntero va al final de la tabla, y ahí es donde reemplazas los campos con las variables.
no se como manejas tu codigo, pero se me ocurren dos formas de solucionarlo:
1- maneja por separado el agregado de un empleado y su modificacion. esto creo que es lo mas complejo segun tu pregunta.
2-modifica un poco el codigo para que si encuentra al empleado no agregue registros pero si reemplace valores, ej:

locate all for empleados.cedula==vcedula
if found()=.F. then
append blank
endif
replace....
replace....

en realidad lo mas sensato sería manejarlo con SQL como UPDATE y INSERT INTO, pero bueno...
espero te sirva.
Uplift
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