Como puedo almacenar en un campo de una tabla, el resultado de una operación con otros campos de la misma tabla. Me hace bien el calculo y lo despliega correctamente en pantalla pero no lo almacena en la tabla. Gracias =D
1 respuesta
Respuesta de Guillem Rosselló
1
1
Guillem Rosselló, Trabajo en direccion hotelera, y hago mis pinitos en Access desde...
Cuando empezaba con Access me hice esta pregunta varias veces, ya que este cálculo lo quería utilizar después más adelante para que apareciese por ejemplo en informes basados en esta misma tabla. Con el tiempo he llegado a la siguiente conclusión: ¿Para qué quiero almacenarlo? Aunque parezca una tontería, en realidad es así. No nos hace falta que ese dato esté almacenado. Simplemente nos hace falta tenerlo a mano para cuando lo queramos utilizar. Así pues, lo más práctico es utilizar una Consulta. Si el formulario en el que ahora haces la operación está basado en una sola tabla, todavía más fácil. Crea una consulta con todos los campos de la tabla, y añádele un nuevo campo en el que hagas la operación. Por ejemplo: Resultado: [Campo1]*([Campo2]+[Campo3]) Como ves, la sintaxis es la misma que en una simple operación matemática, sólo que con los nombres de campo encerrados entre corchetes Ahora haz que el origen de datos del formulario sea esta consulta en lugar de la tabla, y añádele un cuadro de texto más, cuyo origen sea el nuevo campo que has añadido en la tabla. Verás que puedes seguir introduciendo datos como siempre y que te realizará la operación como siempre, y ahora tendrás el valor de la operación siempre guardado en esta consulta. ¿Qué quieres hacer un informe en el que te aparezca el resultado de esta operación? Pues haz que el origen de datos del informe sea la consulta, no la tabla. Es una forma sencillísima de conseguir poder trabajar por toda la base de datos con este resultado. De todas formas, si quieres, te digo como almacenarlo en un campo de la tabla, pero de verdad, plantéate si realmente es necesario que esté en la tabla o si simplemente te interesa poder trabajar con ese dato.
Muchas gracias =) Me ha servido mucho su ayuda. Sin embargo, quiero aclarar por qué necesito que los campos estén almacenados. En realidad, es porque posteriormente tengo que realizar un informe y pensé que solo podría hacerlo con campos de una tabla. Voy a intentar hacerlo de la forma que me explica para tener ambas opciones y si no se me complica para hacer el informe, conservare su propuesta. Muchas gracias nuevamente =)
3 comentarios
Ocultar comentarios
Buenos dias Amigos de TodoExperto, esta respuesta es muy buena pero necesito almacenar este campo calculado en una tabla porque no es para mostrarlo en un informe o formulario, favor ayudarme, las gracias anticipadas! - tommy tavarez
Walsh a ver si me puedes ayudar a mi en base a lo mismo, tengo una table y realice un calculo (diferencias de horas, hora termino - hora inicial), el calculo lo tuve que hacer en access ya que si hago eso en excel al poner una tabla dinámica desde la base datos excel no pone las horas con formato 1989 hora (para realizar cálculos cuando pasan de las 24 hrs).Realice el calculo con access y logre sacar la diferencia de horas sin ningún problema, el problema lo tengo al pasar a tabla dinámica en excel de nuevo, debido a que necesito trabajar con esta hora y al querer usarla en gráficos o en formulas de la tabla dinámica lo toma como si fuera 00:00:00. - Carlos Patricio Muñoz Eyquem
es por ello que quería usar lo calculado y pasarlo a mi tabla como dato a ver si de esa manera la tabla dinámica me lo toma como valor para utilizarlo en formulas ( ya que aparece por ejemplo 2:00:00 dentro de la tabla, pero al usarla en formula es donde lo toma como si fuera 0), de hecho hice la prueba restando una hora x con el valor calculado, y la hora x permaneció = - Carlos Patricio Muñoz Eyquem
Buenos dias Amigos de TodoExperto, esta respuesta es muy buena pero necesito almacenar este campo calculado en una tabla porque no es para mostrarlo en un informe o formulario, favor ayudarme, las gracias anticipadas! - tommy tavarez
Walsh a ver si me puedes ayudar a mi en base a lo mismo, tengo una table y realice un calculo (diferencias de horas, hora termino - hora inicial), el calculo lo tuve que hacer en access ya que si hago eso en excel al poner una tabla dinámica desde la base datos excel no pone las horas con formato 1989 hora (para realizar cálculos cuando pasan de las 24 hrs).Realice el calculo con access y logre sacar la diferencia de horas sin ningún problema, el problema lo tengo al pasar a tabla dinámica en excel de nuevo, debido a que necesito trabajar con esta hora y al querer usarla en gráficos o en formulas de la tabla dinámica lo toma como si fuera 00:00:00. - Carlos Patricio Muñoz Eyquem
es por ello que quería usar lo calculado y pasarlo a mi tabla como dato a ver si de esa manera la tabla dinámica me lo toma como valor para utilizarlo en formulas ( ya que aparece por ejemplo 2:00:00 dentro de la tabla, pero al usarla en formula es donde lo toma como si fuera 0), de hecho hice la prueba restando una hora x con el valor calculado, y la hora x permaneció = - Carlos Patricio Muñoz Eyquem