Access - Error en referencia de control

 
Vista:

Error en referencia de control

Publicado por Bezante (11 intervenciones) el 25/07/2006 11:42:57
Hola, os comento un pequeño problema, pero que me ocurre mil y una veces y nunca le he encontrado la solucion si no es yendo por otro camino.
Para un caso de un formulario que tiene otro subformulario contenido.Ese subformulario tiene un campo calculado a partir de todos registros del mismo (la suma de uno de sus campos).

Bueno, el caso es que necesito utilizar ese campo calculado en el formulario que contiene al subformulario y lo referencio en un cuadro de de texto de la siguiente forma:

=Formularios!Opcion_estimacion!Suma
donde Opcion_estimacion es el subformulario contenido y Suma el campo calculado dentro del mismo. La expresion esta hecha con el generador luego no pueden haber errores de nombres.

Pues el problema es que en vista formulario tengo el incordio del error: #¿Nombre?. en lugar del valor del campo suma del subformulario, que por cierto, dentro de este se visualiza perfectamente! y no hay forma de quitarmelo de en medio. Sabeis por que puede dar este problema con algo tan sencillo??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error en referencia de control

Publicado por 2pl (773 intervenciones) el 25/07/2006 12:11:51
Lo primero que te diria es que cambies el nombre del campo ya que "suma" es una palabra reservada y probaras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en referencia de control

Publicado por Chea (1015 intervenciones) el 25/07/2006 13:29:55
Formularios!Opcion_estimacion, tal como está escrito, no es un subformulario, sino un formulario principal.

Para referirte a un campo de un subformulario, deberías usar una sintaxis más o menos así:

me.Opcion_estimacion.Form.Suma

Si la referencia la haces desde fuera del formulario principal, sería:

Forms!NombreFormularioPrincipal.Opcion_estimacion.Form.Suma

Es decir, siempre la referencia al formulario principal (puede ser Me) seguida del nombre del subformulario y de .Form (para indicar que nos referimos al subformulario en sí y no al control que lo contiene y que se llama igual)

Saludos
José Bengoechea Ibaceta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en referencia de control

Publicado por 2pl (773 intervenciones) el 25/07/2006 19:28:09
Para referirme a un control de un subformulario desde un formulario que lo contiene utilizo esta forma
Me.Subformulario_NombreSubformulario("CampoSubfomulario")

¿En que circunstancia me puedo referir a un control desde fuera del formulario ?
¿Acaso cuando tengo abierto mas de un formulario?

Si la referencia la haces desde fuera del formulario principal, sería:
Forms!NombreFormularioPrincipal.Opcion_estimacion.Form.Suma

Chea, te agradeceria me lo indicaras.

Gracias y un cordial saludo desde Cádiz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en referencia de control

Publicado por Chea (1015 intervenciones) el 26/07/2006 16:04:28
Sí, claro. Puedes referirte a un control de un subformulario desde un formulario completamente distinto. Imáginate, por ejemplo, que desde el formulario principal lanzas otro que es una calculadora y deseas que tome como valor predeterminado el del campo suma del subformulario.

Si hago incapié en lo de llamar a un control de un subformulario desde fuera del formulario principal es porque suele ser origen de confusiones, ya que muchos tienden a considerar que se trata de un formulario independiente y, para refererise a él, se olvidan de "pasar" por el principal.

Supongo que se te habrá olvidado sólo aquí, añadir el .Form antes del nombre del control del subormulario. No creo que pudiera funcionar sin ponerlo. ;-)

Saludos
José Bengoechea Ibaceta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en referencia de control

Publicado por 2pl (773 intervenciones) el 26/07/2006 17:06:41
Gracias Chea por tu explicación.
En cuanto a los .Form, no se me ha olvidado.
Dentro de un formulario tengo un subformulario
If Me.Subformulario_Empleados("Categoria")="01" then
Me.Subformulario_Empleados("Categoria").Backcolor=123456
endif
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en referencia de control

Publicado por Chea (1015 intervenciones) el 26/07/2006 19:35:33
Pues no sabía esta forma de hacerlo sin .Form
Gracias :-)

Saludos
José Bengoechea Ibaceta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar