¿Cómo Abrir ficheros pdf desde un campo de edición de access?

Bueno tengo una base de datos onde tengo registrado los libros que tengo en pdf.

La base de datas la tengo en la pasta (A).

Dentro de esta pasta tengo otra pasta con los libros.

En el formulario libros tengo un campo que se llama (txttitulo) que es onde escribo el titulo del libros, que por coincidencia es igual al fichero que tengo en pdf.

Ex: el pdf se llama "Los miserables" y en esse campo le pongo exactamente igual o sea pongo de titulo "Los miserables"

Bueno la perguna es la siguiente: ¿Si pongo un botón adelante de esse campo que código tendría que poner al botón para que me abrí-se esse pdf (Libro)?

Si cambio de registro obviamente me aparece otro titulo, y el botón tendría que abrir-me no esse libro pero el libro que esta escrito en el campo.

Y por ultimo, pegunto y se los libros los cambio a un pendrive o otro ordenador,¿tendría qué cambiar el código?

Si algurn me va ayudar desde ya

2 respuestas

Respuesta
2

Jorge: Vamos a suponer que tu Botón se llama >> BtnAbrePDF y el TextBox de tu Formulario se llama TxtTitulo.

En el Evento Click de Tu Botón:

Private Sub BtnAbrePDF_Click()
Dim RutaArchivo As String, NombrePDF As String
RutaArchico = "C:\LosLibrosPDF\"
NombrePDF = Me.TxtTitulo & ".pdf"
FollowHyperLink RutaArchivo & NombrePDF
End Sub

La verdad es que no lo he probado, pero debe de funcionar. Saludos >> Jacinto

Private Sub BtnAbrePDF_Click()
Dim RutaArchivo As String, NombrePDF As String
RutaArchivo = "C:\Users\Neusa\Desktop\Bases de Datos\Mi Biblioteca\Mis Livros"
NombrePDF = Me.TxtTitulo & ".pdf"
FollowHyperlink RutaArchivo & NombrePDF
End Sub

esse fue el código que he puesto, me parece que esta bien, pero me da un error que es lo siguiente:

Se ha producido el error '490' en tiempo de ejecución:

No se puede abrir el archivo especificado

Nota la Ruta que esta arriba es onde están todos los pdf.

"C:\ ....\Mi Biblioteca\Mis Livros"

¿

Podría escribir la ruta como la tengo aquí a bajo o tiene que ser la ruta completa como esta arriba?

Gracias por tu ayuda

Jorge: Sin mirar mucho más, veo que te falta una contrabarra al final de>>

...\Mis Livros\"

Ahora lo pruebocon un botón mio. Saludos >> Jacinto

Respuesta
1

La respuesta que te ofrece Jacinto es correcta (si tienes los pdfs en esa carpeta), pero se puede mejorar y de paso responder a tu última pregunta:

Si pones todos los pdfs en una carpeta llamada, por ejemplo Pdfs, y esa carpeta la tienes en la misma carpeta que tu base de datos, usa este código en tu botón:

Private Sub cmd..._Click()
If Nz(Me.txttitulo,"")="" Then Exit Sub
Application.FollowHyperLink Application.CurrentProject.Path & "\Pdfs\" & Me.txttitulo & ".pdf"
End Sub

Así, mientras tengas la BD y la carpeta de los pdfs se te abrirá siempre, ya cambies de Pc, la tengas en un pendrive...

Un saludo.


¡Gracias!

Pues si este código funciona, no expeerimente todavía cambiando los pdf de carpeta, pero de momento muchas gracias esta perfecto para lo que yo lo quería, que era abrir el libro que me interesa

Gracias

Hola amigo,

Como podría el código para abrir qualquer tipo de documentos, ¿cómo documentos fotos o otros?

Gracias

Solo tienes que modificar la ruta al archivo y cambiar la extensión, por ejemplo, para abrir un jpg de la carpeta "Fotos":

Application.FollowHyperLink Application.CurrentProject.Path & "\Fotos\" & Me.txttitulo & ".jpg"

En la carpeta de libros, que yo tengo, tengo archivos la mayoría en pdf después los tengo en word e también Epub, e con un solo código quería abrir, pues lo que tengo en el titulo como, sea el pdf o rtf o doc o epub

¿Sera possible?

La forma sencilla, con un solo código es que en tu tabla tengas un campo (por ejemplo llamado adjunto, de tipo texto) y en él introduzcas el nombre y extensión del archivo. Luego el código te quedaría:

Application.FollowHyperLink Application.CurrentProject.Path & "\Libros\" & Me.adjunto

Y te abriría cualquier formato (si en tu pc tienes como abrirlo).

Si no quieres hacer eso, puedes hacerlo "a las bravas" añadiendo tantas lineas de código como tipos de archivo (extensiones) tengas:

Private Sub cmd..._Click()
On Error Resume Next
If Nz(Me.txttitulo,"")="" Then Exit Sub
Application.FollowHyperLink Application.CurrentProject.Path & "\Libros\" & Me.txttitulo & ".pdf"
Application.FollowHyperLink Application.CurrentProject.Path & "\Libros\" & Me.txttitulo & ".doc"
Application.FollowHyperLink Application.CurrentProject.Path & "\Libros\" & Me.txttitulo & ".docx"
Application.FollowHyperLink Application.CurrentProject.Path & "\Libros\" & Me.txttitulo & ".jpg"
Application.FollowHyperLink Application.CurrentProject.Path & "\Libros\" & Me.txttitulo & ".jpeg"
'y así con todas las extensiones
End Sub

Otra forma sería antes de abrir comprobar si con el nombre del cuadro de texto txttitulo existe algún archivo de alguna extensión y abrirlo, pero ya requiere un código más complejo.

¡Gracias! 

agradesco la colaboracion,

este codigo esta perfecto yalo experimente y esta funcionando, ya lo tenia experimentado pero como no ponia la primera linea  (On Error resume Next) me daba error.

gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas