Crear carpeta con informes 4 informes dentro en pdf filtrados por cada cliente en Access

Quisiera crear un botón que haga lo siguiente.

Que abra 4 informes distintos y en cada uno filtre por cliente y guarde los pdf en una carpeta con el nombre del cliente. Que haga eso con todos los clientes de la lista. Que arme una carpeta así:
Facturación del mes/Cliente Juan/Informe 1.pdf (Siempre filtrado por cliente Juan)
Facturación del mes/Cliente Juan/Informe 2.pdf (Siempre filtrado por cliente Juan)
Facturación del mes/Cliente Juan/Informe 3.pdf (Siempre filtrado por cliente Juan)
Facturación del mes/Cliente Juan/Informe 4.pdf (Siempre filtrado por cliente Juan)
Facturación del mes/Cliente Pedro/Informe 1.pdf (Siempre filtrado por cliente Juan)
Facturación del mes/Cliente Pedro/Informe 2.pdf (Siempre filtrado por cliente Juan)
Facturación del mes/Cliente Pedro/Informe 3.pdf (Siempre filtrado por cliente Juan)
Facturación del mes/Cliente Pedro/Informe 4.pdf (Siempre filtrado por cliente Juan)

Todo esto por cada cliente que haya en la tabla clientes. Cosa que me quede las carpetas así:
Facturación ---> Cliente Juan
                      ----> Cliente Pedro
                     ----> Cliente Jorge

Y así.. Serán aprox 30 clientes, es decir 30 carpetas con dentro 4 informes pdf filtrados por su respectivo cliente.

2 respuestas

Respuesta
1

Sebastián: La mayoría de lo que se quiere hacer con Access, con mayor o menor esfuerzo de análisis y programación se puede hacer. El caso que tú propones también.

Antes de responderte con algo que quizá no sea adecuado tengo una Observación y un par de preguntas.

Observación: Donde tú haces C:\FacturasMes\Cliente\Informex, con Nombre Cliente que en un momento puede Cambiar de Juan Rio a Juan Río es posible que fuera mejor (tu lo sabrás)

>> C:\FacturasMes\NombreInforme, y este NombreInforme que fuera >>

IdClienteInformeN.

Preguntas:

1.- ¿Ya tienes creada la estructura de de Carpetas y Subcarpetas o justo intentas crearla con código?

2.- ¿El sitio inicial es C:\ o colgando del directorio donde tienes la BD?

3.- ¿Ya tienes el código para generar los PDF?

4.- ¿Con qué criterio incrementas el Número final por Cliente?

Ejemplo Juan1 >> Juan2... JuanN

Espero tus aclaraciones, recalcando que la Observación es un tema personal, en base a que ahora dices tener 30 Clientes, ¿pero y cuando sean 100?

Mis saludos >> jacinto

Respuesta
1

Como te indica Jacinto, con un poco de paciencia y algo de conocimientos, puedes hacer casi cualquier cosa.

Ahora no tengo tiempo para hacerte el código entero (pero es una buena ocasión para que practiques, sobre todo el uso de la ayuda de Access), por lo que te daré una idea del proceso general y alguna pista para que investigues:

1º paso: comprobar que la carpeta de ese mes existe (usa la función Dir() para eso)

2º/ si no existe la creas (función mkdir)

3º/ Abres un recordset sobre tu tabla de clientes

4º/ Inicias un recorrido por el recordset, ( o un bucle for next, aunque es más lioso) y en cada pasada:

a) Repites los pasos 1 y 2 con la carpeta con el nombre del cliente

b) Abres el informe filtrado por el cliente (en vista preliminar y oculto, para que no te moleste)

c) Generas el pdf  (mira esta pregunta para estos pasos: http://www.todoexpertos.com/preguntas/6vglob46odp969kn/convertir-directamente-a-pdf-informes-sin-ser-visualizados?selectedanswerid=6vgqx65lvx4p3wxf&nid=9ksqlvkpfrsm9gu9hbvpphkoabuaft6dgcs6lgsmgsvqbukmgcrmnf3 )

d) Cierras el informe

e) Repites con los otros 3 informes

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas