Sumar dos campos de un dw

Tengo una duda necesito saber como hago para hacer operaciones matemáticas como sumar, restar, etc en los campos del data windows y asi asignarle el total de una suma a otro campo del data windows mientras estoy digitando..
Por ejemplo:
En una data windows tengo 3 campos, 1er campo numero1, 2do campo numero 2, 3er campo total
la suma de los 2 campos asignarle al campo total y guardarlo en una base de datos.
Por favor si pudieran enviarme un ejemplo para hacer esas operaciones matemáticas mientras estas digitado en la data windows...
1

1 respuesta

Respuesta
1
Este es el punto si el tercer campo es una campo de una tabla de tu bd entonces vas a tener que hacerlo por código para poder guardarlo en tu bd... pero si no quieres guardarlo en la bd solo que siempre realice los cálculos cuando tu accedas a la data lo puedes hacer con un compute es muy fácil...
Para mi opinión realiza esto...
En un botón de una ventana donde pones tu dw puedes traer los valores de la dw con una función llamada getitemnumber() y para guardar el resultado lo haces con un setitem()
Un ejemplo:
decimal numero1,numero2,lde_resultado
numero1 = dw_<nombre de la dw>.getitemdecimal('numero de la fila',campo numero 1)
numero2=dw_<nombre de la dw>.getitemdecimal('numero de la fila',campo numero 2)
lde_resultado = numero1 + numero2
dw_<nombre de tu dw>. Setitem('numero de la fila', campo numero 3, lde_resultado)
dw_<nombre de tu dw>.update()// para guardar el resultado en tu bd
Esto lo haces con un for para que recorra toda la dw el numero que incrementa en el for lo pones como fila de las funciones getitiemdecimal() y setitem() y guardas al final
Busca más en la ayuda de tu power builder...
Ojala te haya ayudado
Gracias experto por responder. Más o menos de esa manera intente hacer.
Mi dw es del tipo grid. Y es de la siguiente forma:
Nombre Apellido  Puntaje1 Puntaje2 TotalPuntaje
  pepito  perez           5               4                      9
  Jose    perz              1               3                     4
Cabe mencionar que los datos apellido y nombre se carga automáticamente, lo que voy cargando manualmente es puntaje1 y puntaje dos.
Lo que estoy necesitando es que al tipear todo el puntaje2, automáticamente aparezca el resultado en el campo Totalpuntaje. El resultado de la suman de puntaje1 y dos. Intente hacer en el evetno itemchanged del Dw, donde
con el var1= getitem
             var2= getiem
luego setitem en la columna total puntaje, pero no me salio no se porque,
Luego intente hacer en el mismo evento pero con
if this.getcolumname = 'puntaje1'then
     var1 =data
end if
if this.getcolumname = 'puntaje2'then
var12 =data
end if
sum = var1+var2
y por ultimo el dw_1.setitem(getrow(),"puntototal", sum)
Pero no se porque razón tampoco sale... Por favor me podrías aclarar en donde me estoy equivocando..
Es raro la verdad... pero vamos a tratar de hacer los mismo con el evento losefocus de la ventana.. no lo he hecho he de ser honesto pero tratare de orientarte... y darte un update a la datawindow recuerda que si no no funciona nunca se guardara... suerte y me platicas que paso...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas