Informes con campos dependientes

Me interesaría hacer un informe de una tabla donde, dentro de un mismo registro, hay ciertos campos que se tienen que mostrar o no, dependiendo si un campo concreto tiene el valor Verdadero o Falso.
Te pondré un ejemplo para que se entienda mejor.
Tabla de personas:
Nombre (texto)
Casado (Si/No)
NombrePareja (texto)
Pues bien, interesa hacer un informe con TODAS las personas y que aparezca el nombre de su pareja solo si están casados. Sino, solo tiene que aparecer el nombre.
No me sirve la solución de hacer 2 informes, uno para casados y otro para los que no, porque el ejemplo que te he puesto, es mucho más sencillo de lo que realmente necesito (Hay varias casillas de verdadero o falso con sus campos relacionados que se tienen que mostrar o no)
No hace falta que utilices un lenguaje muy simple y explicarlo todo paso por paso, porque tengo un poco de experiencia.

5 respuestas

Respuesta
1
Si compruebas el estado del campo casado en el ventó Print de la sección de detalle del informe, podrás activar/desactivar la propiedad visible del campo NombrePareja.
Ej:
Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
If Me!Casado Then
Me.NombrePareja.Visible = True
Else
Me.NombrePareja.Visible = False
End If
End Sub
Respuesta
1
Crea el informe con todos los campos. Según el ejemplo, sitúa los campos Nombre, Casado (si no quieres que se vea pon la propiedad visible = No) y NombrePareja en el detalle del informe. Ahora selecciona el detalle (pincha con el ratón en el detalle donde no haya ningún campo) y selecciona en la hoja de propiedades, el evento "al imprimir". Selecciona "procedimiento de evento", y pincha en el botón de los tres puntos para programar. Ahora programaríamos lo siguiente:
if Casado = True then
NombrePareja.Visible = True
else
NombrePareja.Visible = False
end if
Ahora en el menú archivo, cerrar, guarda el informe. Ahora prueba a ver si te vale.
Respuesta
1
T(4373125)
Lo que tienes que haces es seleccionar la sección detalle del informe (Vista Diseño), abrir la ventana de propiedades, ingresas a eventos y escoges el evento "Al dar formato"
Escoges los ... al final del cuadro, generador de código
Y en la ventana que aparece escribes +- esto:
if me.casado=true then
me.nombrepareja.visible=true
else
me.nombrepareja.visible=false
end if
debes incluir las etiquetas es decir:
if me.casado=true then
me.nombrepareja.visible=true
me.nombrepareja_etiqueta=true
else
me.nombrepareja.visible=false
me.nombrepareja_etiqueta=false
end if
Visual te da los nombres de los campos y etiquetas del informe actual si escribes me.
Respuesta
1
Bien, en neptuno.mdb tienes un ejemplo en el informe Ventas de empleado por País que muestra una etiqueta informativa para el caso de que el campo TotalVendedor sobrepase un limite de ventas, en el código puedes ver que queda así:
Private Sub EncabezadoGrupo2_Format(Cancelar As Integer, ContarFormato As Integer)
' Muestra EtiquetaObjetivoExcedido y LíneaVendedor si el total del vendedor
' cumple el criterio.
If Me!TotalVendedor > 5000 Then
Me!EtiquetaObjetivoExcedido.Visible = True
Me!LíneaVendedor.Visible = True
Else
Me!EtiquetaObjetivoExcedido.Visible = False
Me!LíneaVendedor.Visible = False
End If
End Sub
Como puedes ver se juega con la propiedad Visible. En tu caso, si vas a usar esos campos Si/No tendrás que hacer referencia en el código a su estado boleano, o sea: 0 y 1
Respuesta
1
Bueno lo que pretendes hacer es muy fácil, primero crea el informe con la ayuda del auxiliar, cuando lo hayas creado ve y en el informe colocas en el evento al cargar lo siguiente:
if casado = "No" then
nombre pareja.visible = false
else
nombrepareja.visible = true
end if
Listo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas