Exportar múltiples pdf desde un informe access con distintos Nombres

Os comento mi situación, con muchas horas y consultando este foro mucho :-) he construido una base de datos con un informe que genera las facturas de mi humilde empresa. Por cada cliente (código cliente), genero un "salto de página" en el informe para crear otra nueva factura, de otro cliente distinto. Este informe se alimenta de una consulta, y a su vez, esta consulta de varias tablas.

Exportar el informe al completo en un PDF, y este a su vez pasarlo por la impresora (papel) no me resulta problema, pero últimamente muchos de mis clientes me solicitan la factura por email y tengo que cortar manualmente el PDF y esto me supone mucho tiempo, me gustaría poder exportar a pdf cada factura por separado y que el archivo resultante tenga al menos el código del cliente, su nombre de cliente y fecha de creación, para poder clarificarlo, por ejemplo : "A00032 - Repuesto NEO - 25.03.2020.pdf"

El informe se llama:

FACTURA_CLIENTES

La consulta se llama:

Por código cliente

Y los campos dentro de la consulta:

CÓDIGO CLIENTE --> tipo de dato Texto corto

NOMBRE CLIENTE --> tipo de dato; Texto Corto

FECHA FACTURA --> tipo de dato; fecha/hora

Os agradezco toda la ayuda que podáis darme de antemano.

1 Respuesta

Respuesta
1

Vamos a ver si me explico. Al no saber la construcción del formulario voy a usar uno de compras. Vamos a suponer que tengo una carpeta Facturas en una ruta que luego verás y debes cambiar. Y también tengo un informe Compras

Cuando pulso el botón

Me ha creado el documento en la carpeta facturas

 y si lo abro

No te fijes en el informe porque está hecho de prisa y corriendo.

El código del botón es

Private Sub Comando19_Click()
Dim s As String
s = DLookup("codproveedor", "proveedores", "proveedor='" & Me.Proveedor & "'")
DoCmd.OpenReport "compras", acPreview, , "numfactura='" & Me.NumFactura & "'"
DoCmd.OutputTo acOutputReport, "compras", "PDFFormat(*.pdf)", "c:\users\gonza\documents\borrar\facturas\" & "" & s & "" & "-" & "" & Me.Proveedor & "" & "-" & Format(Date, "dd-mm-yyyy") & ".pdf"
DoCmd.Close acReport, "compras"
End Sub

Acuérdate de cambiar la ruta

Yo lo que haría es que simultáneamente me lo enviara por email, pero...

Julián muchísimas gracias, sobre todo por la rapidez, aun no he tenido tiempo de probarlo pero mañana te digo.

:-) lo de enviarlo por email, es mi próximo paso :-)

muchas gracias nuevamente

Hola Julián, te comento los pequeños problemas que estoy encontrando para adaptar tu código a mi base (hay que entender que no soy programador),  y que no tengo Formulario, solo Informe.

He creado un formulario sin datos (en blanco) con un "botón" donde he puesto el código que me has facilitado

A ver si puedo explicarme:

identifico sin problemas, todos los campos incluso he adaptado la ruta para el destino del PDF, pero me falta por identificar "proveedor" en singular, ya que "proveedores" entiendo que para mi es "nombre cliente" que es el campo donde tengo el nombre de cada cliente.

Con esta falta de identificación del campo me da un error en la ejecución que no me permite continuar :-(

Nuevamente agradezco toda tu ayuda

Efectivamente, pero tienes que individualizar cada informe, sino al pulsar el botón te enviaría todos. Vamos a hacer una cosa, que creo que es lo mejor. Haz una copia de la tabla y el informe, con dos o tres registros inventados y me la envías a [email protected] y la "preparo".

Si lo haces, en el asunto del mensaje pon tu alias Salva Mar, ya que si no sé quien me escribe ni los abro.

Mil gracias Julián, pero es un reto personal :-)... lo intentare un par de veces más y si no lo consigo, te paso una copia.

Una ultima cosa, el orden lógico de relaciones debe ser:

1- Consulta --> formulario --> informe

o

2 - consulta -->informe --> formulario

Un Saludo

Salva

No entiendo lo de relaciones. Cada cosa es para lo que fué diseñada. Una consulta es para hacer una "serie de búsquedas, adiciones, eliminaciones" en sus tablas origen, pero bastante básicas. Ten en cuenta que las consultas están hechas en lenguaje SQL, que es infinitamente menos versátil que el VBA. Antes de que una consulta pueda hacer nada tiene que haber datos en la(s) tabla(s) origen de la consulta

Un formulario no deja de ser una forma más o menos ingeniosa y cómoda de pasar datos a las tablas y de realizar los cálculos que se quiera, y luego de hacerlos, pasar o no el resultado a ellas.

Un informe no deja de ser una forma bonita de presentar la información que se guarda en la(s) tabla(s) o consulta(s). Es más o menos como cuando las empresas presentan las Cuentas de resultados anuales, que te adornan la explicación para presentarla de una manera resumida lo hecho a los socios.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas