Nombre de archivo "automático" access

Es posible hacer que un informe a la hora de imprimirlo como PDF salga con un nombre "automático", veréis, tengo un informe que tiene un campo con un numero único, y un campo fecha, me gustaría que el nombre que sacase fuera por ejemplo: 1234567_120123.pdf, que seria el numero del informe más la fecha del mismo.

2 respuestas

Respuesta
1

¿De dónde toma este nombre 1234567?

Esto es una aproximación al no saber de dónde toma el nombre 1234567

Private Sub btnExportaPDF_Click()
    ' Nombre del reporte que deseas exportar
    Dim nombreReporte As String 'Nombre del reporte
    Dim nombrePDF As String ' Nombre del archivo PDF que deseas crear
    Dim rutaPDF As String  ' Ruta donde se guardará el archivo PDF
    nombreReporte = "rptClientes"
    nombrePDF = "1234567_" & Format(Date, "ddmmyy") & ".pdf"
    rutaPDF = CurrentProject.Path & "\" & nombrePDF
    ' Exportar el reporte a formato PDF
    DoCmd. OutputTo acOutputReport, nombreReporte, acFormatPDF, rutaPDF
End Sub

Asumo que tiene un reporte con el nombre "rptClientes" y que tiene un botón con el nombre "

BtnExportaPDF
Respuesta
1

El nombre se tendría que generar así:

Me.[numero] & "-" & Format(Me.[Fecha];"ddmmyy")

Donde hay que colocar el código?

Para poder dar una respuesta adecuada, deberías publicar como se esta generando el PDF ya que hay más de una forma de hacerlo y lo correcto es enriquecer el método actual y no imponer otro.

Buenas Tardes, el informe proviene de una consulta, y los datos de la consulta de un formulario, cuando completo el registro en el formulario, tengo un botón de imprimir que selecciona el formulario correspondiente al numero del mismo. A la hora de imprimir lo imprimo como PDF, y ahí es donde me gustaria (si es posible) que me diera el nombre del archivo automático.

Lo que deseas es lo que hace la macro 'exportar con formato', se puede hacer lo mismo desde VBA para poder interactuar en tiempo real.

La macro 'convertida' a VBA en la que ABC seria un informe ya creado y con la ruta donde se va a guardar:

DoCmd.OutputTo acOutputReport, "ABC", "PDFFormat(*.pdf)", "F:\MiCarpeta\abc.pdf", False, "", , acExportQualityPrint

Solo se ha de sustituir la ruta (que se supone es fija) y el nombre que estará accesible (¿un campo del formulario con el dato [Numero] y otro con el dato [Fecha]?) y quedaría algo como esto:

Utilizando una variable:

DoCmd.OutputTo acOutputReport, "ABC", "PDFFormat(*.pdf)", "F:\MiCarpeta\" & me.Numero & "_" & Format(Me.[Fecha],"ddmmyy") & ".pdf", False, "", , acExportQualityPrint

Sin variable y los mismos datos:

DoCmd.OutputTo acOutputReport, "ABC", "PDFFormat(*.pdf)", "F:\MiCarpeta\" & me.Numero & "_" & Format(Me.[Fecha],"ddmmyy") & ".pdf", False, "", , acExportQualityPrint

Para exportar el informe 'con condiciones' tiene que estar abierto con esas condiciones, si esta cerrado se imprimirá igualmente (pero sin condiciones puede tener muchas paginas).

Al parecer solo publique una version:

Utilizando una variable:
Dim Destino As String
Destino = "F:\MiCarpeta\" & Me.Numero & "_" & Format(Me.[Fecha],"ddmmyy") & ".pdf"
DoCmd. OutputTo acOutputReport, "ABC", "PDFFormat(*.pdf)", Destino, False, "",, acExportQualityPrint

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas