¿Cómo ocultar un subinforme cuando esta vacío?

Expertos,

Buenas tardes

Preciso de su ayuda para solucionar un pequeño inconveneinte que tengo al visualizar un informe.

Tengo un informe y dentro de el subinformes cuya relación con el informe principal es 1 >Varios, la información que muestran estos sub informes esta correcta, ¿pero cómo puedo ocultar un subinforme si este no muestra datos?. Imaginemso que los subinformes son:

a) Datos de trabajos en Ciudad capital ► (infoW_CC)

b)Datos de trabajo en Ciudades del exterior ► (infoW_CE)

c) Dato de estudio en Ciudad Capital ► (infoE_CC)

d) Datos de estudio en ciudad del exterior ► (infoE_CE)

¿Cómo ocultaría B y D si en caso no se registro?, el formulario e informe tienen la misma apariencia

Los informes : infoW_CC, infoW_CE, infoE_CC, infoE_CE, estan basados en tablas independientes.

2

2 Respuestas

726.100 pts. No valoras las respuestas, no respondo la siguiente. No...

Supongamos que tienes el informe Ventas, con los cuadros de texto, IdVenta(no es necesario que esté físicamente en el informe), cliente, etc., y el subinforme DetalleVenta, con los campos IdVenta, producto, etc.

En las propiedades de la sección donde esté el subinforme, en el evento Al dar formato puedes poner

If IsNull(DCount("idventa", "detalleventa", "idventa=" & Me.IdVenta & "")) Then
DetalleVenta.Report.Visible = False
End If

4.875 pts.

No he leído toda tu explicación completa y tal vez hay una mejor opción a la respuesta que te daré

Pero debes crear en tu subinforme un vinculo al informe principal, similar a cuando pasas el resultado de una sumatoria desde el pie de página donde el campo que pases al ser nulos todos tus campos sea igual a -1( existen varias formas para esto ya sea con varios if anidados o con una variable, o simplemente con un valor fijo en el campo -1 que al actualizar cualquier otro campo se vuelva 0, no se dependerá de tu lógica, con esto en el evento al cargar el informe si dicho campo

 If [campo].value=-1 then 

(infoW_CE).visible= False

Else 

(infoW_CE).visible=True

end if 

No es que el código arriba sea el correcto pero se trata de explicar lo mejor posible para que puedas llegar a un resultado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas