Desde un formulario a través de un casilla de verificación me muestre varios sub informes en un solo informe.

---------------------------------------------------------------------------------------------------------------------------------------------------------

----------Al presionar botón Ver Informe Escalafonario me muestre lo siguiente--------------------

Mi informe esta basado en consulta que contiene condiciones para calcular las Licencias. En este informe se aprecia un (informe) y dentro de ello un (sub informe llamado T_Licencias Consulta)

La pregunta es: que dependiendo de la casilla de verificación que seleccione solo me muestre en un solo informe (Datos Personales) ó (Licencias) ó (Méritos), etc.

1 Respuesta

Respuesta
2

José: Programa el Evento Report_Open del Informe, naturalmente y sondea los Checks que haya activados en el Formulario llamante (en el que tienes el botón >> Ver Informe Escalafonario)

Como idea voy a suponer que tus CheckBoxes se llaman >> ChkPers, ChkLice, ChkMeri y ChkEstud

Supondré tambien que tus SubInformes se llaman >> SubInfPers, SubInfLice, SubInfMeri y SubInfEstud

Mi sugerencia es que renombres los que tienes a un Nombre sin separaciones, ni acentos, ni guiones etc.

Al Formulario le llamaré >>FrmInfEscalafon (Todo junto)

Entonces te debe quedar algo así:

Private Sub Report_Open(Cancel As Integer)
Dim Frm As Access.Form
Set Frm = FrmInfEscalafon.Form
If Frm.ChkPers = -1 Then
   Me.SubInfPers.Visible = True
Else
   Me.SubInfPers.Visible = False
End If
If Frm.ChkLice = -1 Then
   Me.SubInfLice.Visible = True
Else
   Me.SubInfLice.Visible = False
End If
If Frm.ChkMeri = -1 Then
   Me.SubInfMeri.Visible = True
Else
   Me.SubInfMeri.Visible = False
End If
If Frm.ChkEstud = -1 Then
   Me.SubInfEstud.Visible = True
Else
   Me.SubInfEstud.Visible = False
End If
Set Frm = Nothing
End Sub

Si no he malinterpretado tu pregunta eso debería de funcioarte. Un saludo >> Jacinto

Disculpa porque he tenido una omisión>> La línea

Set Frm = FrmInfEscalafon.Form Debe ser

Set Frm = Forms!FrmInfEscalafon.Form

Un saludo >> Jacinto

Señor Jacinto Trillo Jareño, primeramente AGRADECELE a su respuesta, seguidamente comunico que implementé el código en el evento Open_Report de mi informe, pero me devuelve en error que es el siguiente:  "Se ha producido el error 2450 en tiempo de ejecución: Microsoft Access no encuentra el formulario 'FrmInfEscalafon'" al que hace referencia. Pese a que ya RENOMBRE mi formularios como FrmInfEscalafon y otros datos tal como me indicaste en la ayuda. Agradeceré mucho su acertada respuesta. Saludos.

José: Si has cambiado el nombre del Formulario, encuentro raro ese mensaje, salvo que abras el informe desde la vista de diseño, con el Formulario cerrado. La petición de apertura, has de hacerla desde el botón del Formulario. Así seguro que está abierto. Además el informa ha de tener insertados los cuatro SubInformes >> SubInfPers... etc, pero en principio el error no viene de aquí.

Recuerda que debes cambiar la línea >> Set Frm = FrmInfEscalafon.Form por ésta otra>>

Set Frm = Forms!FrmInfEscalafon.Form

Repasa que no hayas puesto algún acento por ejemplo en ".. Escalafón", porque ese mensaje se resume en que el Formulario no existe o está cerrado o abierto en vista de diseño. Si aún así no lo resuelves me comentas y vemos que hacer. Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas