Modificar un parametro en un programa sin modificar registros anteriores.


([N2] Daniel) #1

Como hago para modificar un porcentaje que uso en un programa y que no afecte los datos ingresados anteriormente? Solo quiero que afecte los datos que se ingresen de ahora en adelante.


([N4] Enrique) #2

Hola Daniel,

para no hacer demasiado larga la explicación en el foro, adjunto un pdf con una posible solución. Cualquier cosa a las ordenes.

Saludos!

[attachment=17188,1420]


([N4] Enrique) #3

Hola Daniel,

para no hacer demasiado larga la explicación en el foro, adjunto un pdf con una posible solución. Cualquier cosa a las ordenes.

Saludos!

[attachment=17189,1421]


([N2] Daniel) #4

Bien Enrique. Te agradezco muchísimo la información. Un abrazo!


([N2] Daniel) #5

Estuve viendo el ejemplo y la verdad que no entiendo como aplicarlo en mi caso. Aclaro la estructura de mis tablas por las dudas. En una tabla MOVIMIENTOS tengo el importe de la factura de compra, y los puntos que gana el cliente por la compra. El porcentaje lo manejo como parámetro modificable por el usuario, y lo cargo en una variable global. El tema es que cuando cambio el porcentaje, me cambian los valores en todos los registros anteriormente ingresados, y no quiero que suceda esto. Agradezco si alguien me aporta alguna solución para este problema.


([N4] Enrique) #6

Hola Daniel, bueno hay un par de detalles que se hacen importantes conocer para determinar el caso. Por ejemplo, el campo que mantiene los puntos del cliente por la compra, es una fórmula?. Si es así no podrás mantener los datos anteriores porque el recálculo es sobre el total de los registros.

Saludos!




([N1] donhoy) #7

Supongo que el problema se produce porque el campo del cálculo en cuestión lo has declarado como un campo fórmula numérica en vez de haberlo declarado como numérico con valor inicial. ¿Es así?


([N2] Daniel) #8

A ver si me explico mejor. Tengo una tabla llamada movimientos, con un formulario donde ingreso los movimientos de compra de cada cliente. Ingreso un monto de una factura, y calculo un porcentaje de ese monto en un campo llamado puntos de la factura. Puntos de la factura es un campo formula numerica. Cuando doy aceptar en ese formulario, actualiza acumulando el campo puntos_acumulados en una tabla cliente. El porcentaje es definido como parámetro en otro formulario, lo puede modificar el usuario y apunta a una variable global, que es usada en la fórmula numerica de calculo de puntos ganados. El problema esta en que cuando cambio el porcentaje, me cambian los puntos ganados de todos los movimientos anteriores, sin modificarme el saldountos en cliente. Si empiezo a borrar movimientos, cuando borro el ultimo, el campo acumulado de puntos en clientes me da un valor disparatado. No quiero que pase eso, y ni siquiera pretendo que me modifique los movimientos anteriores. Si cambio el porcentaje, deseo que afecte los nuevos registros. Espero haberme explicado claramente. Saludos y gracias por su ayuda.




([N4] eic) #9

Hola.

Si quieres que no te modifique los puntos en los movimientos anteriores, entonces el campo "puntos de la factura" no puede ser una fórmula numérica (recuerda que los campos fórmulas no almacenan el valor, sino que se recalculan cada vez que se visualizan). Ese campo debería ser un campo numérico normal, con un contenido inicial. Es más, lo mejor sería que guardaras el porcentaje en cada movimiento en otro campo (con un contenido inicial igual a la variable que tienes). De este modo, aunque cambie el porcentaje, en cada movimiento tendrás guardado el porcentaje que se usó en ese momento.

Saludos,

Fran Varona




([N1] Pepeto) #10

@Daniel

Estoy completamente de acuerdo con Fran Varona.
Creo que la mejor solución es no uno sino 2 campos numéricos, uno para guardar el Porcentaje y otro para guardar los Puntos.

un saludo
Jose Luis
http://ascsl.net


([N2] Daniel) #11

Listo. Solucionado. Agregue porcentaje como campo. Como contenido inicial el valor de la variable global correspondiente al porcentaje. El campo puntos ganados sigue siendo formula numerica, pero esta vez apunta al campo del formulario porcentaje. Anda bien. Muchas gracias por la ayuda.