Casilla de Verificación en Informe

¿Es posible marcar una casilla de verificación en un formulario y que esta misma casilla aparezca marcada en el informe?

3 respuestas

Respuesta
1

Muchas Gracias

Respuesta
1

Si el formulario y el informe dependen de la misma tabla, no tienes problema. Si el informe es independiente o depende de otra tabla distinta a la tabla origen del formulario, pero el informe lo abres desde el formulario, siempre podrías usar en el evento Al cargar del informe

If currentproject.allforms("nombre del formulario").isloaded then

nombrecasilladelinforme=forms!nombre del formulario!nombrecasilladelform

end if

Es decir, que tendrías que concretar un poco más.

Respuesta
1

Hay que evaluar 2 casos

1. ¿La casilla del formulario depende de alguna tabla?

En este caso hace parte de una columna, no hay problema la incluye en el origen de datos del informe.

2. ¿La casilla está en el encabezado del formulario y NO hace parte de ninguna columna.?

En este caso puede asignar a la casilla del reporte en "Origen del Control", el nombre del campo de la casilla del formulario. Por ejemplo.

FORMULARIO

Observe que está marcada la casilla "Con teléfono en casa", al hacer clic en el botón Imprimir, obtengo el siguiente informe.

Observe en el recuadro que está marcada la casilla "Con teléfono en Casa" y el reporte muestra los registros con teléfono.

Ahora voy al formulario y desmarco la casilla y obtengo el siguiente informe:

CÓDIGO DEL FORMULARIO

Código del botón Imprimir

Private Sub btnImprimir_Click()
  If Me.casilla Then
    DoCmd.OpenReport "rptEmpleados", acViewPreview, , " Telcasa<>null", , Me.casilla
  Else
    DoCmd.OpenReport "rptEmpleados", acViewPreview, , " Telcasa Is Null", , Me.casilla
  End If
End Sub

DISEÑO DEL INFORME

En el informe se adiciona una casilla y se le asigna el como origen del control en nombre de la casilla del formulario, por ejemplo:

No es necesario validar si está cargado porque se llama el reporte desde el formulario. Sino está cargado el formulario y se abre el reporte para evitar error se incluye en el evento Al abrir;

Private Sub Report_Open(Cancel As Integer)
   On Error Resume Next
   If IsNull(Forms!frmEmpleados!casilla) Then
     Me.casilla.Visible = False
   End If
End Sub

En este caso se muestran todos los registros como muestra la figura y se oculta el la casilla.

Hay más formas de hacerlo.

Se me olvidó comentarle que no puede hacer a la casilla del informe como le explican, algo como

Me.casilla = Forms!frmEmpleados!casilla

Recibirá el siguiente mensaje.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas