Casilla de verificación condiciona subformulario

Mis jefes me piden lo siguiente y no sé cómo, tengo un formulario con datos de 2 tablas, quieren agregar un subformulario donde se capturen unos datos específicos llamado "pruebas aportadas al caso", quieren que con una casilla de verificación se despliegue, "aparezca" el subformulario sobre el formulario principal, no quieren que este fijo ya que algunos casos no aportan pruebas, por lo que les pregunto, ¿cómo es para que al dar clic a la casilla de verificación aparezca el subformulario "PRUEBAS", todo esto en Access 2007.

1 respuesta

Respuesta
2
Entiendo que ya tienes un formulario principal, y que sabes agregar un subformulario relacionando un campo del formulario principal con un campo del subformulario (de manera que si ves, por ejemplo, el "Caso1" en el formulario principal automáticamente te aparecen los datos relacionados con "Caso1" en el subformulario). Voy a partir de esa base.
Para hacer lo que pides tienes que hacer lo siguiente:
- Sacas las propiedades del subformulario y compruebas lo siguiente:
     .- Pestaña Todas
              -> Nombre -> Coges el nombre del subformulario. Para el ejemplo yo lo he llamado "subfrmPruebas"
              -> Visible -> Colocas la propiedad en "No"
- En el formulario principal creas una casilla de verificación. Yo le he puesto por nombre "chkPruebas"
- En sus propiedades, en la pestaña "Datos", asignas "Falso" a la propiedad "Valor predeterminado"
- En el evento "Después de actualizar" de esa casilla de verificación escribes el siguiente código:
---
Private Sub chkPruebas_AfterUpdate()
    If chkPruebas = True Then
        Me.subfrmPruebas.Visible = True
    Else
        Me.subfrmPruebas.Visible = False
    End If
End Sub
---
En este código sólo tienes que cambiar "subfrmPruebas" por el nombre de tu subformulario.
Así, cuando abras el formulario no verás el subformulario, que sólo se activará cuando marques la casilla de verificación. Si la vuelves a marcar volverá a desaparecer.
Suerte!
Neckkito en verdad que eres GRANDE a la primera me salió, mejor explicado no me lo hubieran podido decir, MUCHAS GRACIAS, por expertos como tu "Todo Expertos" vale la pena.
Saludos.

Suponiendo que el código lo tienes en un check llamado chkPruebas, al generar el código te habrá escrito algo parecido a:

Private sub chkPruebas_AfterUpdate()

Entonces en el evento de formulario "Al activar registro" le escribes este código:

...

Private Sub...

call chkPruebas_AfterUpdate

End sub

...

A ver si así te sale.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas