Results 1 to 3 of 3
  1. #1
    clancy76 is offline Novice
    Windows 7 64bit Access 2013
    Join Date
    Oct 2014
    Posts
    25

    Embedding a PDF within an Access form

    Hi all - I recently joined a company that has been storing data in fillable PDFs. We need to keep generating these PDFs going forward, but we would also like to consolidate all of this data into one SQL Server database(they have been manually filling in the data in the SQL Server back end after the PDF has been created, obviously this is not the optimal way to do things).

    What I would like to do is:

    1. Embed the PDF they are using into an Access form (The form will be connected to the SQL Server database and the data will get entered that way)
    2. Click a button that takes that form and generates back into a PDF when all of the data has been entered

    Does anyone know if this is possible? The PDF that's generated from Access has to look exactly like the current PDF we are filling in manually.

    Thanks!

  2. #2
    ranman256's Avatar
    ranman256 is offline VIP
    Windows Vista Access 2010 32bit
    Join Date
    Apr 2014
    Location
    Kentucky
    Posts
    9,526
    don't embed PDF in the db. Instead ,store the link to a folder, and the user can still open it with:
    OpenNativeApp txtPdfFld


    Paste this code into a module, and it will open ANY file in its native application.
    In a form put the field and a button to open it.


    if the file is myFile.pdf, will open it in acrobat
    if the file is myFile.doc, it will open the doc in Word
    if its just a file path, it will open in file explorer.
    etc..

    usage:
    OpenNativeApp txtBox

    paste this code into a module
    Code:
    'Attribute VB_Name = "modNativeApp"
    'Option Compare Database
    Option Explicit
    Code:
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As String, ByVal lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long
    Private Declare Function GetDesktopWindow Lib "user32" () As Long
    Const SW_SHOWNORMAL = 1
    Const SE_ERR_FNF = 2&
    Const SE_ERR_PNF = 3&
    Const SE_ERR_ACCESSDENIED = 5&
    Const SE_ERR_OOM = 8&
    Const SE_ERR_DLLNOTFOUND = 32&
    Const SE_ERR_SHARE = 26&
    Const SE_ERR_ASSOCINCOMPLETE = 27&
    Const SE_ERR_DDETIMEOUT = 28&
    Const SE_ERR_DDEFAIL = 29&
    Const SE_ERR_DDEBUSY = 30&
    Const SE_ERR_NOASSOC = 31&
    Const ERROR_BAD_FORMAT = 11&
    
    Public Sub OpenNativeApp(ByVal psDocName As String)
    Dim r As Long, msg As String
    r = StartDoc(psDocName)
    If r <= 32 Then
        'There was an error
        Select Case r
            Case SE_ERR_FNF
                msg = "File not found"
            Case SE_ERR_PNF
                msg = "Path not found"
            Case SE_ERR_ACCESSDENIED
                msg = "Access denied"
            Case SE_ERR_OOM
                msg = "Out of memory"
            Case SE_ERR_DLLNOTFOUND
                msg = "DLL not found"
            Case SE_ERR_SHARE
                msg = "A sharing violation occurred"
            Case SE_ERR_ASSOCINCOMPLETE
                msg = "Incomplete or invalid file association"
            Case SE_ERR_DDETIMEOUT
                msg = "DDE Time out"
            Case SE_ERR_DDEFAIL
                msg = "DDE transaction failed"
            Case SE_ERR_DDEBUSY
                msg = "DDE busy"
            Case SE_ERR_NOASSOC
                msg = "No association for file extension"
            Case ERROR_BAD_FORMAT
                msg = "Invalid EXE file or error in EXE image"
            Case Else
                msg = "Unknown error"
        End Select
    '    MsgBox msg
    End If
    End Sub
    
    Private Function StartDoc(psDocName As String) As Long
    Dim Scr_hDC As Long
    Scr_hDC = GetDesktopWindow()
    StartDoc = ShellExecute(Scr_hDC, "Open", psDocName, "", "C:\", SW_SHOWNORMAL)
    End Function


    usage:

    Code:
    sub btnOpenFile_click()
      OpenNativeApp ME.txtBox
    end sub



  3. #3
    clancy76 is offline Novice
    Windows 10 Access 2013
    Join Date
    Oct 2014
    Posts
    25
    Ahhh making a call to the Windows API to do this, brilliant, will try it out - thanks so much!!

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Embedding Word document within Access forms.
    By Williamsgar in forum Forms
    Replies: 2
    Last Post: 11-02-2016, 04:53 AM
  2. Replies: 1
    Last Post: 10-09-2013, 10:09 AM
  3. Embedding Dynamic Queries in Access Form
    By IainMc in forum Forms
    Replies: 5
    Last Post: 12-21-2011, 12:09 PM
  4. embedding youtube clip into access forms-is it possible?
    By ymds in forum Import/Export Data
    Replies: 1
    Last Post: 06-12-2010, 10:37 AM
  5. Replies: 3
    Last Post: 06-10-2010, 03:24 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums