I think there are a few things to consider, then you can determine what to try. These are my thoughts and may not be true. I don't use Adobe, nor Shell very often-- but my sample code works in Acc2003 on XP.
I think if you use an Access form with a browser control, you can use the FollowHyperlink approach, but
I think Adobe reader will opened by your browser in the browser area on the form.
If you want to open Adobe reader from vba and avoid the (IE) browser, then you could use a shell command within your vba.
Here is a vba proc that lets you open Adobe reader, and pass some parameters( page to open at start up) and keeps the Adobe open and your Access form will be open (although hidden by Adobe).
Code:
Option Explicit
Option Compare Database
'Declare the ShellExecute function by accessing the Shell library's procedure
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
'Used to display a window
Const SW_SHOWNORMAL = 1
'I'm sure there are other parameters and constants but this is what I found while answering your post.
'---------------------------------------------------------------------------------------
' Procedure : OpenPDF
' Author : Jack
' Date : 07/05/2012
' Purpose : To open Adobe Reader and show a pdf document without using FollowHyperlink
'---------------------------------------------------------------------------------------
'
Sub OpenPDF(ByRef PDFPath As String, ByRef PdfName As String, Optional StartPage As String = "1")
Dim strPath As String, strParam As String
On Error GoTo OpenPDF_Error
strPath = PDFPath & PdfName
strParam = " /A " & Chr(34) & "page=" & StartPage & Chr(34) & strPath
Call ShellExecute(0&, "open", "AcroRd32.exe", strParam, "", SW_SHOWNORMAL)
On Error GoTo 0
Exit Sub
OpenPDF_Error:
MsgBox "Error " & Err.number & " (" & Err.Description & ") in procedure OpenPDF of Module AdobeShellWithParms"
End Sub
Below is a routine to test the procedure
Code:
'---------------------------------------------------------------------------------------
' Procedure : testOpenPDF
' Author : Jack
' Date : 07/05/2012
' Purpose : Routine to test OpenPDF
'---------------------------------------------------------------------------------------
'
Sub testOpenPDF()
Dim myPdf As String
Dim MyPath As String
On Error GoTo testOpenPDF_Error
MyPath = "C:\Users\Jack\Documents\"
myPdf = "rdbmsPrinciples.pdf"
Call OpenPDF(MyPath, myPdf, "3")
On Error GoTo 0
Exit Sub
testOpenPDF_Error:
MsgBox "Error " & Err.number & " (" & Err.Description & ") in procedure testOpenPDF of Module AdobeShellWithParms"
End Sub
More info on ADOBE READER parameters at
http://www.adobe.com/content/dam/Ado...parameters.pdf