** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Generar PDF e introducirlo en una tabla
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoGenerar PDF e introducirlo en una tabla

 Responder Responder
Autor
Mensaje
Fran351 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 29/Noviembre/2018
Localización: Las Palmas
Estado: Sin conexión
Puntos: 9
Enlace directo a este mensaje Tema: Generar PDF e introducirlo en una tabla
    Enviado: 29/Noviembre/2018 a las 23:17
hola, estoy intentado generar un pdf a raiz de un informe al pulsar un boton y que a su vez me lo guarde en una tabla y a su vez me lo imprima,

este es el codigo que tengo puesto en un boton,  me gustaria tambien poder guardarlo el archivo en una carpeta ya que en la base de datos se guarda la información, para tenerlos ordenados
Private Sub Comando18_Enter()
DoCmd.OutputTo acReport, "LISTA_DIARIA", acFormatPDF, CurrentProject.Path & Format(Date, "dd-mm-yyyy") & " - " & "Lista Diaria.pdf"
End Sub

y la tabla donde quiero meter el archivo
la tabla se llama DOCUMENTOS
id  autonumeracion primarykey
nombre  texto corto
documento datos adjuntos
fecha  fecha/hora

haber si me pueden echar un cable
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1490
Enlace directo a este mensaje Enviado: 30/Noviembre/2018 a las 12:13
Quieres guardar el archivo en una carpeta o en la base de datos??

Asi como lo tienes te lo guarda con el nombre de la base de datos creo
y asi en la carpeta donde este la base de datos
DoCmd.OutputTo acReport, "Lista_diaria", acFormatPDF, CurrentProject.Path & "\" & Format(Date, "dd-mm-yyyy") & " - " & "Lista Diaria.pdf"

Si quires en otro lado cambia el directorio, este CurrentProject.Path  por el que quieras, por ejemplo "C:\Users\ddd\BaseDatos"

Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1490
Enlace directo a este mensaje Enviado: 30/Noviembre/2018 a las 12:27
Alguna cosilla que he enconrado

https://sites.google.com/site/jjjt1973/datos-adjunto-usando-vba

https://www.lawebdelprogramador.com/foros/Access/1576091-Insertar-automaticamente-un-archivo-en-un-campo-tipo-Datos-adjuntos.html

http://www.mvp-access.com/foro/tipo-de-datos-datos-adjuntos_topic82584.html

https://docs.microsoft.com/es-es/office/vba/access/Concepts/Data-Access-Objects/work-with-attachments-in-dao



Editado por rokoko - 30/Noviembre/2018 a las 12:43
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1490
Enlace directo a este mensaje Enviado: 30/Noviembre/2018 a las 13:06
Es posible que aqui tengas la solucion..
http://neckkito.xyz/nck/index.php/ejemplos/20-especiales/232-destripando-archivos-adjuntos

Arriba
Fran351 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 29/Noviembre/2018
Localización: Las Palmas
Estado: Sin conexión
Puntos: 9
Enlace directo a este mensaje Enviado: 30/Noviembre/2018 a las 13:29
Lo que necesito es que a la vez que me genere el pdf lo inserte en la tabla documentos para poder tener un historial de esos archivos
Arriba
Fran351 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 29/Noviembre/2018
Localización: Las Palmas
Estado: Sin conexión
Puntos: 9
Enlace directo a este mensaje Enviado: 30/Noviembre/2018 a las 13:30
muchas gracias me sirvió, solo me faltaba poner la dirección donde quería guardarlo
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1490
Enlace directo a este mensaje Enviado: 30/Noviembre/2018 a las 13:30
Y aqui un ejemplo utilizando el ejemplo de neckkito, yo no he programado nada, solo he hecho el refrito ... me ha venido bien para aprender, nunca he utilizado datos adjuntos

https://www.dropbox.com/s/3xpc0yjf1ce5bg4/PDf%20a%20DatosAdjunto.accdb?dl=0
Arriba
Fran351 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 29/Noviembre/2018
Localización: Las Palmas
Estado: Sin conexión
Puntos: 9
Enlace directo a este mensaje Enviado: 30/Noviembre/2018 a las 14:05
perdona tío pero mirando el código que me pasaste, no entiendo la función del uiId, me da error en compilación
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1490
Enlace directo a este mensaje Enviado: 30/Noviembre/2018 a las 16:08
Esas dos ultimas partes de la funcion lo que hace es pillar un campo clave que suele llamarse id, pon como se llame el tuyo en la tabla y lo compara con el id del campo del formulario(pon el tuyo aqui tambien), para que el pdf se guarde en el registro que corresponda y no el otro. Te lo digo asi de memoria que no tengo el pc a mano.

Saludos

edito:

Call subAnadeAdjunto(laRutaArchivo, "Tabla1", "Archivos", "Id", unId)     'Funcion en modulo>>  rutaarchivo, NombraTabla, NombreCampoAdjuntoTabla, IdTabla, VariableIdPilladaDelFormulario(unId)


Esto en um modulo.
Option Compare Database
Option Explicit

'-----------------------------------------------------------------------------------------------------------------------
'-------Código programado por Neckkito @ http://neckkito.siliconproject.com.ar
'-------Fecha creación: 13/12/15
'-------Fecha última modificación: 19/12/15
'-------Requisitos: -
'-------Finalidad: realizar distintas operaciones con archivos adjuntos
'-------Créditos: puedes utilizar este código libremente, pero se agradece la citación de la autoría ;-)
'-----------------------------------------------------------------------------------------------------------------------
'-----------------------------------------------------------------------------------------------------------------------
'   Declaramos las variables comunes de todo el módulo
'-----------------------------------------------------------------------------------------------------------------------
Dim dbs As Database
Dim rst As Recordset2
Dim rstAdj As Recordset2
Dim fldCampoAdj As Field2
Dim miSql As String

'-----------------------------------------------------------------------------------------------------------------------
'   Sub subAnadeAdjunto(parametros): procedimiento que permite añadir adjuntos a un campo de una tabla
'-----------------------------------------------------------------------------------------------------------------------
Public Sub subAnadeAdjunto( _
            elArchivo As String, _
            laTabla As String, _
            elCampoAdj As String, _
            elCampoId As String, _
            elId As Long)
On Error GoTo sol_err

        'Instanciamos la base de datos
    Set dbs = CurrentDb
        'Creamos la sql
    miSql = "SELECT [" & elCampoAdj & "] FROM [" & laTabla & "] WHERE [" & elCampoId & "]=" & elId
        'Creamos el recordset sobre la Sql
    Set rst = dbs.OpenRecordset(miSql)
        'Instanciamos el campo del adjunto
    Set fldCampoAdj = rst.Fields(0)
        'Instaciamos el rstAdj
    Set rstAdj = fldCampoAdj.Value

        'Situamos el registro en modo edición
    rst.Edit
        'Añadimos el nuevo adjunto
    rstAdj.AddNew
        'Utilizamos el método LoadFromFile para cargar el archivo
    rstAdj.FileData.LoadFromFile elArchivo
    rstAdj.Update
    rst.Update

Salida:
        'Cerramos conexiones y liberamos memoria
    rst.Close
    dbs.Close

    Set rst = Nothing
    Set rstAdj = Nothing
    Set dbs = Nothing
    Exit Sub
   
sol_err:
    If Err.Number = 3820 Then 'El adjunto ya existe
        MsgBox "Ya existe un adjunto con el nombre y extensión que intenta adjuntar", _
            vbExclamation, "DUPLICADO"
    Else
        MsgBox "Se ha producido el error " & Err.Number & " - " & Err.Description, _
            vbCritical, "ERROR"
    End If
    Resume Salida
End Sub '-----------------------------------------------------------------------FIN subAnadeAdjunto


Editado por rokoko - 30/Noviembre/2018 a las 16:55
Arriba
Fran351 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 29/Noviembre/2018
Localización: Las Palmas
Estado: Sin conexión
Puntos: 9
Enlace directo a este mensaje Enviado: 01/Diciembre/2018 a las 12:12
Muchas gracias al final me salio
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable