Ver en formulario valor calculado en subformulario

Tengo un problema que me lleva roto la cabeza desde hace varios días. Tengo una tabla de denominada tbl_EQUIPOS que contiene dos campos Id_Equipo (autonumérico) y Nombre (texto).
Tengo otra tabla denominada tbl_MEDICIONES que contiene los campos Id_Medición (autonumérico), Id_Equipo (numérico), Medida1 (numérico) y Medida2 (numérico).
Ambas tablas están relacionadas mediante el campo Id_Equipo (campo principal en la tabla tbl_EQUIPOS).
Mediante el asistente he creado un formulario con su subformulario con las tablas anteriores de forma que el formulario principal tiene los campos Id_Equipo y Nombre.
En el subformulario tengo todos los campos de la tabla mediciones y he añadido además un cuadro de texto en el que quiero que se represente la media de ambas mediciones. Para ello mediante el generador de expresiones creo la expresión (=([medida1]+[medida2])/2) cuyo nombre es "Media" y me muestra correctamente el resultado en el subformulario (utilizo la vista tabla) por cada registro, es decir fila a fila.
Hasta aquí todo bien. Lo que no consigo hacer y me está volviendo loco es que quiero mostrar en el formulario principal el mayor de los valores calculados mediante la expresión anterior (es decir el mayor de la media de todas las filas).
En el pie del subformulario creo un campo de texto llamado (MediaMaxima) e introduzco la expresión (=Máx([Media])) con objeto de que me calcule la mayor de las medias existentes.
En el formulario principal creo un cuadro de texto y pongo la expresión (=[tbl_MEDICIONES Subformulario].[Formulario]![MediaMaxima]).  El resultado que me arroja es  #Error.
¿Qué es lo que estoy haciendo mal?.

1 Respuesta

Respuesta
1
Leyendo tu inquietud y si usas Access 2003, lo que debes hacer es lo siguiente:
1.- En el pie del subformulario, agregas un campo que te calculará el valor máximo de los promedios, de las medidas de los equipos, por cada registro o fila. En la propiedad origen del control, de éste, colocas =Máx([MEDIDA1]+[MEDIDA2])/2.
2.- En el formulario principal agregas un campo que te mostrará el valor deseado; y en la propiedad origen del control, de éste, colocas =MEDICIONES. Formulario! Valormáximopromedio.
NOTA: asumiendo que tu subformulario lo nombraste MEDICIONES y que tu campo calculador lo haz nombrado VALORMÁXIMOPROMEDIO.
Muchas gracias por tu respuesta. Lo he probado y funciona. Pero existe la posibilidad de que en esa formula del pie de pagina pueda poner un valor calculado de esos dos campos
( por ejemplo  =Máx([MEDIDA1]+[MEDIDA2]/2+[SumaValores]) siendo SumaValores=[MEDIDA1]+[MEDIDA2]  )
Lo pregunto porque mi necesidad viene porque tengo que calcular la desviación típica de 5 valores. Para calcular la desviación sin fórmula debo calcular previamente la media aritmética de esas cinco medidas, y calcular la raíz cuadrada del resultado de dividir entre 5 el cuadrado de la diferencia de cada uno de esos valores con respecto a su media. Esto que parece un rollo así contado lo puedes ver fácilmente en wikipedia. La verdadera dificultad de hacerlo en una única fórmula del pie de formulario es que continuamente debes introducir cada uno de los cinco campos de [MEDIDAS] muchísimas veces. Vamos, una locura. Existiría alguna opción de poder introducir el resultado del calculo por ejemplo de la media de esas 5 medidas y restársela al cuadrado de cada una de ellas. Creo que Access no lo permite, pero a lo mejor si permite introducir el valor calculado, es decir no la fórmula sino el valor.
Con respecto a tu nueva inquietud lo siguiente:
1.- En el subformulario agregas un nuevo campo y en la propiedad origen del control, de éste, colocas =([VALORMÁXIMOPROMEDIO]+[MEDIA]), donde MEDIA es el nombre del campo que suma MEDIDA1 con MEDIDA2.
2.- En el formulario principal agregas un campo que te mostrará el valor deseado; y en la propiedad origen del control, de éste, colocas =MEDICIONES. Formulario! Máximoymedia.
Todo esto sólo por el lado de configuración no hemos hecho nada de código. Si gustas me envías la fórmula de lo que necesitas y ver que sucede.
NOTA: asumiendo que tu subformulario lo nombraste MEDICIONES y que tu campo calculador lo haz nombrado MÁXIMOYMEDIA.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas