Un informe access no es mas que
una tabla o consulta mostrada en una forma "elegante
y dinámica", los informes son uno de los
módulos de access mas importantes, ya que permiten
automatizar en gran medida el desarrollo
de documentos a partir de bases de datos. Gracias
a las herramientas de agrupación y
ordenación de datos, y combinado con
el código vba que podemos asociar al informe.
Entra en la comunidad ProgramarVBA y goza de todas las ventajas totalmente GRATIS:
Un informe tiene las siguientes propiedades principales:
Pie del informe: Se refiere a la primera página del informe, es decir, la portada del informe
Encabezado de página: Datos que van a aparecer en todas las páginas del informe, concretamente en la parte superior
Detalle: en esta sección se incluyen los distintos registros correspondientes al encabezado de la pagina, que pueden ser mas de uno, sería como un subformulario dentro de cada página del informe.
Pie de Página: Tiene la misma función que el encabezado de página, pero los datos aparecen en la parte inferior
2.- Funciones de un informe
Agrupar: Una de las opciones de un informe de access mas importante es la posibilidad de mostrar los datos agrupados, seleccionando uno o varios subgrupos. Al agrupar datos evitamos que aparezcan datos repetidos en nuestro informe. Por ejemplo, si queremos mostrar los datos de una tabla con inmuebles de toda España, y queremos que los agrupe segun la provincia, para ello vamos sobre la parte izquierda del formulario en vista diseño y con el boton derecho le damos a la opción Ordenar y Agrupar:
Ahora seleccionamos los campos que queremos Agrupar y el orden es el que queremos que aparezcan, una vez seleccionado en la parte de abajo aparecerán las opciones, de las que debemos activar "encabezado de pagina". En este momento en el informe se crea un nuevo encabezado, donde podemos incluir las etiquetas y textos necesarios para el encabezado de nuestro informe. En la sección de detalle aparecerán los los registros relacionados con los datos principales del encabezado:
Otras opción
interesante y muy util es forzar el salto de pagina
cuando aparece un nuevo registro que no cabe en la primera
pagina, para evitar este corte que tan mal queda, simplemente
iremos a la opción mantener Juntos
del menú ordenar y agrupar y
pondremos el valor a sí.
2.- Modificar parámetros en la sección de detalle
Si queremos modificar un atributo de los controles de la sección de detalle nos vamos a encontrar con algunos problemas : por ejemplo, tenemos una serie de registros con un valor numérico y otro textual, y queremos que el texto sea de color rojo cuando el valor numérico pasa de 50. Uno tiene valor 25 y otro 75. Por lo tanto debería aparecer uno de color rojo y otro de color por defecto. El código para que esto ocurra lo debemos incluir en la seccion de datalle:
IF (me.valorNumerico > 50) then
me.controls("valorTextual").forecolor = 255
end if
pero si hacemos esto aparecerán todos en rojo, porque? pues porque se queda con el ultimo valor siempre, por tanto deberíamos poner:
IF (me.valorNumerico > 50) then
me.controls("valorTextual").forecolor = 255
else
me.controls("valorTextual").forecolor = 0
end if
De esta forma se comprueba uno por uno todos los valores y asigna siempre el color a la etiqueta correspondiente
3.-Modificar parámetros en la sección pie de pagina en función de parámetros de la sección detalle
Si queremos añadir datos a modo de resumen en la sección de pie de pagina debemos de tener cuidado, por ejemplo, queremos que en la sección de detalle nos saque una alerta cuando un valor de la sección de detalle sobrepase cierto limite.
el código a incluir en la sección de pie de pagina seria
if (me.valorNum > 50) then
etiquetapie.caption = "alerta, uno de los valores sobrepasa limite"
end if
Esto puede resultar correcto, pero no lo es, ya que cogerá el valor del ultimo valor numérico de la sección de detalle. Para que funcione correctamente deberíamos añadir un booleano en la sección de detalle:
incluir en la seccion pie de pagina
etiquetapie.caption = "alerta, uno de los valores........"
end if
Con este código, una vez que encuentre en valor que supera el limite se activara el booleano y ya no se desactivara, y aparecerá el mensaje de error.
4.-Modificar parámetros en función de la página del informe en la que nos encontramos
Es posible modificar un parámetro del informe dependiendo en que pagina del mismo nos encontramos. Si por ejemplo queremos poner un pie de pagina con la pagina actual crearíamos una Etiqueta, y en la opción caption pondríamos
Etiqueta.caption : me.page
En cambio si queremos que en la primera pagina no aparezca el numero de la pagina, ya que es la portada, pondríamos el siguiente código en la sección de pie de pagina: