2012-09-19 13 views
11

Tengo un subinforme bastante simple que quiero suprimir cuando no hay registros seleccionados para él. El problema es que tengo una sección de encabezado y pie de página de este subinforme con elementos estáticos (cuadros de texto, líneas, etc.). Establecí la sección que contiene el subinforme, el subinforme en sí mismo y las secciones dentro del subinforme para que todos sean suprimidos cuando no hay registros. Sin embargo, el subinforme aparece de todos modos. La sección de datos sin datos está suprimida, pero los encabezados y pies de página parecen mantener el subinforme visible.Supresión de subinforme sin datos y un encabezado

¿Alguna idea? Oh, estoy ejecutando Crystal-Reports 2011. ¡Gracias!

Respuesta

16

Acabo de toparme con esto en CR2008. Estos son los pasos que hice para hacer este trabajo:

  1. entrar en su informe integrado (con esto quiero decir que se abra en su propia ventana diseñador) -> entrar en 'Informe Opciones' en el menú 'Archivo' - > seleccione 'Suprimir impresión si no hay registros'
  2. Ahora regrese a su informe principal. Haga clic derecho en el subinforme -> vaya a 'Formato de subinforme' -> presione la pestaña 'Subinforme' -> marque la casilla 'Suprimir subinforme en blanco'.
  3. Si el subinforme es lo único en la sección del informe principal, vaya a esa sección en el 'Editor de sección' haciendo clic derecho sobre él -> marque la casilla 'Suprimir sección en blanco'.

EDIT: Si su informe integrado hace los expedientes volver pero es sólo que ninguno es muestra a continuación, tratar de usar las variables compartidas. Para hacerlo, primero debe considerar la lógica que está utilizando para mostrar los registros en el subinforme. Es probable que sea cual sea la lógica que se encuentre en la fórmula de supresión de la sección de detalle, pero dependerá en gran medida del formato de su subinforme particular.

Ahora, inicialice un numbervar compartido en el encabezado del informe del subinforme y luego increméntelo cada vez que se muestre una fila con la lógica antes mencionada.

Detrás en su informe principal, puede verificar el valor de esa variable para suprimir condicionalmente la sección del subinforme. Digo "puede" porque CR puede no evaluar las variables del informe interno anterior a mirar la fórmula de supresión, pero darle un giro. Querrá utilizar la palabra clave whileprintingrecords; en su fórmula de supresión de sección para retrasar su evaluación. ¡Buena suerte!

+0

Drat! Sin jabón Estaba realmente esperanzado porque no sabía acerca del diálogo 'Opciones de informe' en el menú Archivo y esa casilla no estaba marcada. Lo revisé y todavía estoy recibiendo el informe integrado. –

+0

@DanBerlyoung ¿El subinforme realmente muestra algo o solo es un cuadro vacío?Si aún obtiene los encabezados/pies de página, ¿es posible que el subinforme esté obteniendo registros, pero simplemente no se muestran? La consulta de informe integrado debe devolver 0 filas para que esa casilla de verificación realmente funcione. – Ryan

+0

Aye! Ahí el problema. El subinforme tiene registros que se imprimen en otro subinforme, pero este, al usar el mismo conjunto de datos, solo tiene campos que no tienen ningún valor. Por lo tanto, suprime la sección de detalles porque no hay campos para imprimir, pero el subinforme en realidad tiene registros. ¿Hay alguna forma de detectar el tiempo o no las filas realmente impresas y luego ocultar el subinforme en función de ese valor? –

0

¿Has probado a usar la fórmula de supresión?

Haga clic derecho Formato de campo> Comprobar reprimir> haga clic en Editar fórmula botón [X-2]

0

difícil de seguir todo en el puesto, pero si los datos se está ejecutando una en la otra, a continuación, añadir una sección y coloque su informe secundario en la sección y asegúrese de que la opción de crecimiento esté marcada.

Si tiene datos estáticos que desea mostrar, entonces puede querer crear 2 informes secundarios, uno con los datos estáticos y uno con los datos dinámicos y suprimir si está en blanco.

Cuestiones relacionadas