Cómo ocultar y mostrar subformularios en un formulario en access dependiendo del valor de un campo

En Access 2010 tengo un formulario principal que contiene 3 subformularios (SubFormA, SubFormB y SubFormC), dentro del formulario existe un campo llamado TipoServicio que es un cuadro combinado donde se desplega si es: A, B, C, entonces lo que quiero saber es como mostrar el SubFormA y ocultar el SubFormB y SubFomrC cuando el usuario seleccione A del cuadro combinado Tipo de Servicio y si selecciona B, mostrar el SubFormB y ocultar el SubFormA y SubFormC; y al seleccionar C, mostrar el SubFormC y ocultar SubFormA y SubFormB. Espero haber explicado bien.

1 respuesta

Respuesta
5

Te explico paso a paso una solución que creo que te puede valer:

1º/ Abre tu formulario en Vista Diseño.

2º/ haz click derecho sobre el cuadro combinado y pulsa Propiedades

3º/ Vete a la pestaña "Eventos" y localiza "Después de actualizar". Verás que a la derecha de la fila aparece un botón con 3 puntos. Lo pulsas y eliges "Generador de código"

4º/ En el editor de VBA que se te abre, escribes este código entre las lineas Private Sub TipoServicio_AfterUpdate y End Sub:

Dim miOpcion as String

miOpcion=Nz(Me.TipoServicio,"")

Select Case miOpcion

Case "A"

Me.SubFormA.Form.Visible=True

Me.SubFormB.Form.Visible=False

Me.SubFormC.Form.Visible=False

Case "B"
Me.SubFormA.Form.Visible=False
Me.SubFormB.Form.Visible=True
Me.SubFormC.Form.Visible=False

Case "C"
Me.SubFormA.Form.Visible=False
Me.SubFormB.Form.Visible=False
Me.SubFormC.Form.Visible=True

Case Else

Me.SubFormA.Form.Visible=False
Me.SubFormB.Form.Visible=False
Me.SubFormC.Form.Visible=False

End Select

5º/ Sacá las propiedades del formulario, vete a la pestaña eventos, localiza el evento "Al activar registro", pulsa el botón de los 3 puntos y le pones este código:

TipoServicio_AfterUpdate

Y ya está, así verás el subformulario correspondiente a la opción elegida, y si no hay opción elegida, no verás ninguno.

Te agradezco infinitamente por ayudarme en este caso, realicé los pasos y me funcionó a la perfección, por eso te valoré con cinco estrellitas. Gracias, Gracias, Gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas