Access - Exportar a pdf un informe en una ruta y con nombre específico

 
Vista:
sin imagen de perfil

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por Javier (71 intervenciones) el 20/04/2017 17:01:54
Hola foreros, tengo una base de datos en la que un botón genera un informe el cual se alimenta de varios textbox del formulario hasta ahí todo bien. Esta base de datos es de una academia y ahora igual que puedo imprimirlo, me gustaría que automáticamente me lo guardase ese informe en una ruta específica y con un nombre específico.

En el formulario hay dos campos uno llamado NOMBRE DEL CURSO otro llamado NOMBRE DEL ALUMNO, pues la idea es que se guarde tal que así:

C:\DATOS ACADEMIA\NOMBRE DEL CURSO\NOMBRE DEL ALUMNO\informe1.pdf

Por supuesto la carpeta nombre del curso debe tener el nombre del textbox y la carpeta nombre del alumno debe tener el nombre del textbox del formulario.

Vamos a partir desde este código que ya funciona espero que me podáis ayudar:

1
DoCmd.OutputTo acReport, "MATRICULAREC", acFormatPDF, CurrentProject.Path & "\Informe1.PDF"

este código ahora mismo lo que hace es crearme el informe pero en la ruta de la base de datos, a ver si podemos conseguir que lo guarde en otra ubicación específica.

Estaré muy atento al post y probaré vuestras respuestas inmediatamente,gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por Javier (71 intervenciones) el 20/04/2017 20:02:07
bueno me respondo a mi mismo a ver si podéis seguir ayudándome: ahora mismo tengo este código:


1
2
3
4
5
6
7
8
9
10
11
12
Dim nombrecarpeta As String
Dim TempCarpeta As String
nombrecarpeta = "ALA" ' CREA UNA CARPETA
TempCarpeta = Dir("C:\" & nombrecarpeta, vbDirectory)
If TempCarpeta = "" Then
MkDir "C:\" & nombrecarpeta
DoCmd.OpenReport "PAGO ABRIL 2", acViewPreview
DoCmd.OutputTo acReport, "PAGO ABRIL 2", acFormatPDF, "C:\ALA\" & Format(Date, "dd-mm-yyyy") & " _ " & Me.NOMBRE_Y_APELLIDOS & ".PDF" ' HAY DEBERAS PONER TU RUTA DONDE QUIERES QUE SE IMPORTE
Else
DoCmd.OpenReport "PAGO ABRIL 2", acViewPreview
DoCmd.OutputTo acReport, "PAGO ABRIL 2", acFormatPDF, "C:\ALA\" & Format(Date, "dd-mm-yyyy") & " _ " & Me.NOMBRE_Y_APELLIDOS & ".PDF" ' HAY DEBERAS PONER TU RUTA DONDE QUIERES QUE SE IMPORTE
End If


esto nos crea el fichero pdf en la carpeta ALA con el día y el nombre de la persona, as ver si podeis ayudarme a partir de aquí

necesito indicarle en el directorio de creación QUE SEA EL DIRECTORIO: C:\aALA\NOMBRE DEL CURSO\NOMBRE DEL ALUMNO\informe1.pdf, dandolo desde el textbox
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jorge
Val: 1.039
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por jorge (304 intervenciones) el 20/04/2017 23:07:35
ojala y sea lo que buscas ..


lo que hace crea u numero de cliente en la carpeta clients despues crea el archive pdf dentro del numero del clients

hay te adjunte un archive txt saludos desde mexico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por Javier (71 intervenciones) el 21/04/2017 19:16:29
Mil gracias Jorge, si te das cuenta el ejemplo en mi segundo comentario, lo hice en base a un ejemplo tuyo en otro post, te darías cuenta por los comentarios del código fuente jaja

Respecto al ejemplo mil gracias por el , vas muy bien encaminado nos faltaría agregar otra carpeta más, en el ejemplo de base de datos que me pones aparece como número 1 un tal jorge luis juarez lópez y efectivamente al exportar aparece como ruta en el ordenador

C:\CLIENTES\1\JORGE LUIS JUAREZ LOPEZ.pdf

nos faltaría agregar dentro de la carpeta 1 otra carpeta más por ejemplo el nombre de la calle de forma que quede tal que así y siguiendo con el ejemplo:

C:\CLIENTES\1\CALLE LA LUNA\JORGE LUIS JUAREZ LOPEZ.pdf

agregar lo que te he puesto en negrita,como se agrega una carpeta más en la ruta con otro textbox mediante código?

Un saludo y mil gracias por el ejemplo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jorge
Val: 1.039
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por jorge (304 intervenciones) el 21/04/2017 20:06:06
asi Javier saludos desde mexicoo..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por Javier (71 intervenciones) el 24/04/2017 11:41:14
Mil millones de gracias, lo has conseguido hacer perfectamente

Aunque ya está conseguido y también he entendido el código, por rematar una cosa que me falta y pongo el código de uno de tus ejemplos

1
2
3
DoCmd.OpenReport "CLIENTES", acViewPreview, , "NOMBRE='" & NOMBRE & "'", acHidden
      DoCmd.OutputTo acReport, "CLIENTES", acFormatPDF, "C:\NICOLAS\" & Format(Date, "dd-mm-yyyy") & " _ " & Me.NOMBRE & ".pdf" ' 
      DoCmd.Close acReport, "CLIENTES"

Si te das cuenta exporta el nombre del pdf con el día de hoy y el nombre , ¿Hay alguna forma de añadirle la hora actual a ese fichero pdf? mi idea es que se quede en nombre tal que así "Matrícula DÍA DE HOY HORA ACTUAL.PDF"

¿Como pondríamos esto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por Javier (71 intervenciones) el 24/04/2017 18:18:59
BUENO DISCULPAD QUE ME CONTESTE A MI MISMO, PERO LO HE CONSEGUIDO Y OS PONGO EL CÓDIGO, el cual podréis aplicar a vuestras diferentes base de datos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim nombrecarpeta As String
Dim TempCarpeta As String
nombrecarpeta = Me.NIVEL_1º_IDIOMA
nombrecarpeta1 = Me.NOMBRE_Y_APELLIDOS
TempCarpeta = Dir("C:\CLIENTES\" & nombrecarpeta, vbDirectory)
If TempCarpeta = "" Then
     MkDir "C:\CLIENTES\" & nombrecarpeta
     MkDir "C:\CLIENTES\" & nombrecarpeta & "\" & nombrecarpeta1
  '  MkDir miRuta & "\" & miCarpeta & "\" & miSubcarp
     DoCmd.OpenReport "PAGO ABRIL 2", acViewPreview
      DoCmd.OutputTo acReport, "PAGO ABRIL 2", acFormatPDF, "C:\CLIENTES\" & nombrecarpeta & "\" & nombrecarpeta1 & "\" & Format(Date, "dd-mm-yyyy") & "  " & Format(Time, "hh_mm_ss") & "  " & "RECIBO DE ABRIL" & ".PDF" ' HAY DEBERAS PONER TU RUTA DONDE QUIERES QUE SE IMPORTE
      DoCmd.Close acReport, "PAGO ABRIL 2"
Else
     DoCmd.OpenReport "PAGO ABRIL 2", acViewPreview
      DoCmd.OutputTo acReport, "PAGO ABRIL 2", acFormatPDF, "C:\CLIENTES\" & nombrecarpeta & "\" & nombrecarpeta1 & "\" & Format(Date, "dd-mm-yyyy") & "  " & Format(Time, "hh_mm_ss") & "  " & "RECIBO DE ABRIL" & ".PDF" ' HAY DEBERAS PONER TU RUTA DONDE QUIERES QUE SE IMPORTE
      DoCmd.Close acReport, "PAGO ABRIL 2"
End If

es el mismo código que me ha puesto el compañero jorge, simplemente yo le he agregado la fecha y la hora al fichero de forma que se nos queda lo más encuadrado posible.

Pero ahora me surge otro problema y espero que ya sea el último, el fichero me lo crea bien pero por ejemlo en este caso:

C:\CLIENTES\INTERMEDIATE 3A\Villalba Cárdenas\24-04-2017 18_04_43 RECIBO DE ABRIL

esto sería lo que genera el programa, si por ejemplo quiero incluir otro fichero de otra persona en el curso INTERMEDIATE 3A ME DA ERROR, si es otro curso ningún problema, peo si creo otros ficheros de otros alumnos, DEL MISMO CURSO me falla el output to

¿alguna idea de que pasa?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de jorge
Val: 1.039
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por jorge (304 intervenciones) el 24/04/2017 18:34:25
la primea vez te lo hace bien y la segundoo noooo o comoo ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jorge
Val: 1.039
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por jorge (304 intervenciones) el 24/04/2017 19:33:14
Pues ami si me funciona cualquier registro que quiero mandar exporter ala carpeta de clients.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por Javier (71 intervenciones) el 24/04/2017 20:48:31
Gracias Jorge por toda la ayuda que me has dado en este problema, puesto que ya el caso se vuelve un poco complejo, he aprovechado la situación para registrarme en la página y poder subir imágenes para explicar mejor el problema

el código de antes me hace correctamente la creación del fichero para un alumno:

1

incluso para este mismo alumno puede hacerle mas ficheros usando el mismo código

2

también puedo hacer otros alumnos de otros cursos, en esta foto podéis ver dos cursos:

3


El problema viene cuando quiero hacer recibos de otros alumnos de esos cursos que ya tienen la carpeta creada siguiendo con el ejemplo de las fotos, me da error cuando quiero crear nuevos alumnos de SUN 2B o INTERMEDIATE 3A, escomo si detectase que ya está la carpeta del curso creada y no sigue con el proceso, el error es:

4


y me lo da en la línea de código:


5


que podemos hacer? es lo único que me falta,solucionar ese error ¿alguna idea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por JOSE MUÑOZ (2 intervenciones) el 08/09/2021 17:35:29
TENGO EL MISMO PROBLEMA DEL ERROR ME DICE QUE LA ACCION OUTPUTTO SE CANCELO.
COMO PUEDO CORREGIR ESTE ERROR

EL CODIGO QUE ESTOY UTILIZANDO ES:

Dim nombrecarpeta As String
Dim TempCarpeta As String
nombrecarpeta = "ALA" ' CREA UNA CARPETA
TempCarpeta = Dir("C:\" & nombrecarpeta, vbDirectory)
If TempCarpeta = "" Then
MkDir "C:\" & nombrecarpeta
DoCmd.OpenReport "ImprimirEstadoCuenta", acViewPreview
DoCmd.OutputTo acReport, "ImprimirEstadoCuenta", acFormatPDF, "C:\ALA\" & Format(Date, "dd-mm-yyyy") & " _ " & Me.NoDeCasa.value & ".PDF" ' HAY DEBERAS PONER TU RUTA DONDE QUIERES QUE SE IMPORTE
Else
DoCmd.OpenReport "ImprimirEstadoCuenta", acViewPreview
DoCmd.OutputTo acReport, "ImprimirEstadoCuenta", acFormatPDF, "C:\ALA\" & Format(Date, "dd-mm-yyyy") & " _ " & Me.NoDeCasa.value & ".PDF" ' HAY DEBERAS PONER TU RUTA DONDE QUIERES QUE SE IMPORTE
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Exportar a pdf un informe en una ruta y con nombre específico

Publicado por Anonimo (3312 intervenciones) el 09/09/2021 20:38:20
Alternativa:
1
2
3
4
5
Dim nombrecarpeta As String
nombrecarpeta = "ALA"
If Dir("C:\" & nombrecarpeta, vbDirectory) = "" Then MkDir "C:\" & nombrecarpeta
DoCmd.OpenReport "ImprimirEstadoCuenta", acViewPreview
DoCmd.OutputTo acReport, "ImprimirEstadoCuenta", acFormatPDF, "C:\" & nombrecarpeta & "\" & Format(Date, "dd-mm-yyyy") & " _ " & Me.NoDeCasa.Value & ".PDF"

Antes del OutputTo añadiría una línea que después se puede comentar o borrar:

MsgBox "C:\" & nombrecarpeta & "\" & Format(Date, "dd-mm-yyyy") & " _ " & Me.NoDeCasa.Value & ".PDF"


Mostrara un mensaje con la ruta y nombre del archivo a crear (antes de crearlo) y se podrá verificar que es lo que se espera y que no existe en el destino.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar