Informe con agrupaciones diferenciadas

Buenos días!

vuelvo a necesitar tus sabios consejos :-)

tengo un informe en access 2003, agrupa los resultados siempre de la misma tabla (11 grupos diferentes, como si fueran 11 tiendas..), el informe al final suele tener entre 100 y 140 hojas..

este informe lo paso a pdf y lo envío por correo a los 11 destinatarios..

el problema que encuentro es que p.ej. La ultima tienda para ver sus resultados ha de ir pasando las hojas hasta llegar a su tienda.

he aquí mis preguntas :

- podría cambiar el color del fondo del informe según la agrupacion?

- o sino, hay alguna manera de que me genere 11 informes (pero que lo haga automáticamente, tipo macro...), evitando de hacer manualmente los 11 informes?

- alguna idea que me solucione el problema?

muchísimas gracias otra vez!!

Marcux

Respuesta
1

El campo de agrupamiento, ¿qué nombre tiene y qué tipo de dato es?

Ya me dirás,

... http://neckkito.eu5.org ...

hola, el campo se llama Unitat y es texto.

siempre son los mismos

Es una "pena" (y nótese que lo pongo entre comillas) que tu versión sea 2003, porque en 2007 sí tendrías la posibilidad de sacarlo directamente a pdf. En fin... vamos a apañarnos con lo que tenemos. :)

Te propongo el siguiente sistema, que aún sigue siendo manual, pero quizá te resulte más cómodo que el que vienes utilizando.

1.- En el directorio donde tienes la base de datos créate una carpeta. Por ejemplo, la llamaremos MisInformes

2.- Para seguir el ejemplo supongamos que los valores de [Unitat] son "Primera", "Segunda",..., "Undécima"

En un botón de comando creas el siguiente código:

...

Private Sub...'Declaramos las variables
Dim ruta As String, vArchivo As String
Dim i As Integer
Dim misGrupos(1 To 11)
'Definimos la ruta de los informes
ruta = Application.CurrentProject.Path & "\MisInformes\"
'Inicializamos vArchivo
vArchivo = ""
'Rellenamos la matriz
misGrupos(1) = "Primera"
misGrupos(2) = "Segunda"
misGrupos(3) = "Tercera"
'Rellenamos con todos los valores posibles, siguiendo la estructura de
'nombreMatriz(índice) = "Valor". Esto ya es trabajo tuyo ;)
misGrupos(11) = "Undécima"
'Creamos el bloque que nos importará los informes a snapshot, identificados
'por su nombre de "Unitat"
For i = 1 To 11
'Abrimos el informe filtrado en modo oculto
DoCmd.OpenReport "RDatos", acViewPreview, , "[Unitat]='" & misGrupos(i) & "'", acHidden
'Le damos la ubicación y nombre definitivos
vArchivo = ruta & "Agrupacion" & misGrupos(i) & ".snp"
'Exportamos el informe a snapshot
DoCmd.OutputTo acOutputReport, "RDatos", acFormatSNP, vArchivo, False
'Cerramos el informe
DoCmd.Close acReport, "RDatos", acSaveNo
'Reinicializamos la variable vArchivo
vArchivo = ""
'Nos movemos a la siguiente agrupación
Next
End Sub

...

Piensa que tendrás que rellenar, con tus datos, los elementos que faltan de la matriz. La mecánica es muy sencilla y no creo que tengas el menor problema.

Una vez finalizado el proceso, en la carpeta que hemos llamado "MisInformes", tendrás 11 archivos, cada uno con su única agrupación. Los pasas a pdf y listo.

Ya me dirás qué tal te ha ido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas