Como pasar valor de campo calculado en formulario a campo de tabla?

En un formulario dependiente de una tabla, tengo varios campos calculados, es decir, que el origen del control es un valor calculado.

El problema que se me plantea en que el valor de esos campos no se me copia en la tabla.

¿Qué puedo hacer para pasar el valor de los campos calculados a los campos de la tabla?

2 respuestas

Respuesta
1

El problema de poner cálculos en los orígenes de los controles en un formulario es precisamente ese, que ya tienes el origen del control "ocupado". Personalmente opino que es preferible dejar el control con su origen, con el campo de la tabla donde se va a guardar y hacer los cálculos en código.

Otra alternativa es dejarlo como está y en algún evento( al no saber como está construido el formulario) poner

docmd.setwarnings false

docmd.runsql"update Clientes set TotalFactura=controldondeaparecenloscálculos where idcliente=" & me.idcliente & ""

Me explico, actualiza el campo TotalFactura de la tabla clientes al valor del cálculo que sea en aquel registro en que el Idcliente sea igual al Idcliente que figura en el formulario en ese momento.

Lo de idcliente quiere decir un campo que identifique de manera única al registro(s) que quieras actualizar.

Muchas gracias, Julián.

Al final he seguido tu consejo,  le he cambiado el origen del control y los cálculos los he hecho con código en el evento "al activar el registro" y me funciona perfectamente.

Respuesta
1

Trate de no utilizar campos calculados en el diseño de las tablas, presentan muchos problemas, deje estos cálculos para las consultas y que decir si tiene que migrar el día de mañana la tabla a un servidor de datos como PostgreSQL, sería un desastre.

Le recomiendo leer este artículo. Microsoft Access tips: Calculated Fields (allenbrowne.com)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas