Visibilidad de un campo de subformulario condicionada a un si/no en el formulario

Estoy desarrollando una base de datos de un conjunto de CD's musicales.

Tenemos el formulario "CD's" y dentro de éste el subformulario "Canciones"

En el formulario del CD está el año de publicación, el artista, el título del album, de quién es, si es original o es una grabación y si es o no una banda sonora

En el subformulario de canciones están los campos "Título, Intérprete, compositor música, compositor letra y el título de la película"

¿Es posible que en el subformulario el campo del título de la película sólo sea visible si en el formulario se marca que sí pertenece a una/s banda/es sonora/es?

¿cómo puede desarrollarse?

Hace siglos que no manejo Access y no recuerdo si eso sólo es posible con un subformulario completo o si sí es posible ocultar un campo concreto.

Es Access 2007

Gracias de antemano a cualquiera que pueda echarme una mano

1 Respuesta

Respuesta
1

Suponiendo que los campos de tus formulario se llamen BSO y TituloPelicula, tu subformulairo se llame Canciones(lo puedes comprobar así: abres el formulario en vista diseño, click derecho sobre el campo, propiedades-> pestaña otras-> Nombre), y suponiendo también que el campo BSO sea del tipo Sí/No, esto es lo que tienes que hacer:

1º/ Abre tu formulario CD's en vista diseño, saca las propiedades del campo BSO, haciendo click derecho sobre el. Vete a la pestaña Eventos, localiza la fila Después de Actualizar, y dale al botón de los tres puntos que aparece a la derecha de la misma. En el cuadro que te sale, elige Generador de código, y en el editor de VBA que se te abrirá, escribe, entre las lineas Private Sub... y End Sub que te aparecen, esto:

If Me.BSO = True Then
Me.Canciones.Form.TituloPelicula.Visible = True
Me.Canciones.Form.TituloPelicula_Etiqueta.Visible = True
Else
Me.Canciones.Form.TituloPelicula.Visible = False
Me.Canciones.Form.TituloPelicula_Etiqueta.Visible = False
End If

Cierra el editor de vba y el formulario guardando los cambios.

2º/ Abre tu formulario en vista diseño, saca sus propiedades (del formulario, haciendo click derecho en el cuadradito de la esquina superior izquierda del mismo), vete a la pestaña eventos y localiza Al Activar Registro. Repite los pasos para abrir el editor de VBA y escribe:

If Me.Parent.BSO = True Then
Me.TituloPelicula.Visible = True
Me.TituloPelicula_Etiqueta.Visible = True
Else
Me.TituloPelicula.Visible = False
Me.TituloPelicula_Etiqueta.Visible = False
End If

Guarda los cambios y listo!

Te dejo una miniBD de ejemplo para que lo veas con más claridad: http://filebig.net/files/8cJ7p6s2Bp

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas