Access - El lio de los subinformes

 
Vista:
sin imagen de perfil

El lio de los subinformes

Publicado por Antonio (2 intervenciones) el 30/01/2023 19:41:29
Buenas tardes, Tengo un problema con los subinformes por si alguien me puede ayudar y así servir también a los demás:
Tengo un informe con varios subinformes metidos, son listados de facturas y resúmenes de ellas en función de varios parámetros que pueden ir variando.
Una vez listadas todas las facturas, cuya tamaño puede ser muy variable, el siguiente subinforme, ya mucho mas pequeño, no hace caso a las agrupaciones ni sus encabezados, generalmente por id_cliente (si lo hace si está de forma independiente) cuando lo inserto en un informe (su posición puede variar en función de los datos que haya antes).
He intentado mantener el encabezado y primer registro juntos en una página, mantener todo el grupo junto en una página, poner todo el grupo en la misma página, … En propiedades generales del subinforme mantener junto el grupo por página, en las del encabezado del grupo mantener juntos ,….
Lo único que he conseguido más o menos es que me salte de página si le indico que repita la sección del encabezado, empezando a poner registros en página nueva pero en la anterior también pone el encabezado sin registros. Hay alguna forma de indicarle, aunque sea con vba, que si queda a una distancia determinada haga un salto de página directamente?)
En definitiva es indicarle: si no cabes todo, salta de pagina.

Gracias por vuestra ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

El lio de los subinformes

Publicado por Anonimo (3316 intervenciones) el 30/01/2023 20:02:25
Si se trata de informes y sus herramientas si hay opciones para mantener en una pagina o hacer un salto de pagina condicionado, pero si se trata de subinformes las reglas cambian porque la paginación solo es 'real' y aplicable en/para el formulario principal.

Lo único que puedo recomendar es que las ordenaciones etc, se hagan (en los informes y subinformes) con sus propias herramientas, pues no suelen respetar ordenes y agrupaciones impuestos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

El lio de los subinformes

Publicado por Antonio (2 intervenciones) el 31/01/2023 09:01:02
Gracias por contestar,

Entiendo entonces que no hay forma de poder agrupar con los subinformes para evitar esos cortes si no cabe, debiéndose ordenar como se quiera mediante la propia consulta diseñada en el origen del registro de subinforme.

Se me ocurre: habría la posibilidad de saber o calcular cuanto espacio (puede ser variable en función de los datos que haya antes) va a quedar antes de que ponga el subinforme para poner o no un salto de pagina, es decir, si quedan por ejemplo menos de 5 cm en blanco antes del pie de pagina, que salte a la siguiente?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

El lio de los subinformes

Publicado por Anonimo (3316 intervenciones) el 31/01/2023 10:15:21
si se desea un espacio libre 'antes de el pie de pagina', lo único que se puede hacer es aumentar el tamaño del pie de pagina (con ese espacio sin utilizar).

Aclarando la 'espacialidad' bajo mi experiencia:

Para Access en los informes todo son 'Secciones' y la única que manipula (de forma 'automática') es la sección cero (0) o sección detalle, la sección detalle es el espacio que queda libre tras crear las secciones cabecera/pie de pagina y cabecera/pie del informe (inicio y final de todo el conjunto de datos).

Las secciones cabecera/pie de pagina se repiten en todas las paginas, la sección 'cabecera de informe' aparece una única vez en la primera pagina (a continuación de la sección 'cabecera de pagina') y la sección 'pie de informe' a continuación de la ultima línea utilizada en la sección detalle, que puede coincidir en cualquier parte del espacio libre entre la cabecera y pie de pagina.

Se puede manipular (programar) en tiempo de ejecución los tamaños de las secciones cabecera/pie de pagina en base a las propiedades Page (la pagina actual) y Pages (el numero de paginas) la primera hoja cumple que Page = 1 y la ultima que Page = Pages para el resto si es par o impar o algún calculo similar.

Si se crea el objeto agrupación este se comporta como si fuera una línea que a su vez tiene contenido independiente (sus propias cabecera/detalle/pie de agrupación) esto es, un símil de subinforme, como lo crea 'el' puede conocer su tamaño y saber si entra completo en el espacio disponible para ir a una pagina nueva o no.

Si en lugar de trabajar con agrupaciones utilizamos subinformes (un subinforme tiene su propia vida, pierde algunos atributos como el de paginar) no lo podrá manipular pues ya 'viene cocinado' y es posible que salga una parte en el espacio disponible de la hoja actual y el resto en la siguiente (o siguientes), sobre eso tiene poco control y no seria extraño que si no se le solicita expresamente que 'intente mantenerlo en una misma pagina' (lo que le obligará a comenzar en una pagina nueva) pueda presentar una imagen en varias partes y si no se tiene cuidado, un simple punto puede crear una pagina en blanco al exceder el ancho disponible.

Mi conclusión personal:
Si deseo obtener el absoluto control sobre el informe, en lugar de subinformes utilizo agrupaciones, esto es: le envío la información 'en bruto' y con las herramientas propias de los informes recreo la factura (o facturas) organizo sus datos y hago los cálculos que necesite.

Si lo que deseo es aunar en un único conjunto unos informes, el informe que los contiene no deberá tener 'ni pies ni cabezas' e imponer la regla de que cada dato (el subinforme a todos los efectos se comporta como un único dato) comience en una pagina nueva.

Los informes son muy poderosos y no se les debería tratar como si fueran 'otro tipo de formulario' (y menos con las mismas herramientas que a estos) ya que tienen las suyas propias y mas adecuadas a la funcionalidad esperada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo

El lio de los subinformes

Publicado por Eduardo (317 intervenciones) el 31/01/2023 15:14:08
Tenga en cuenta que los subinformes en algunos casos de deben hacerse la vinculación de campos principales y secundarios como sucede con los formularios. Si quiere envíeme su base de datos a [email protected] y trato de colaborarle
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar