我想在Access中的表单上显示每个单独记录的PDF文件。表单将从组合框的结果中填充(从组合框中选择一个键字段),表单将填充查询中的大量信息。
对于基础表中的每个唯一值,都有一个与之相关的pdf文件。我想使用Web浏览器控件来定义每个唯一键的文件路径。例如,
S:\ FOLDERPATH \ XYZ \ keyvalue.pdf"
其中keyvalue.pdf
字面上是表单上文本框的内容,该文本框包含该记录的文本字段来源,后跟' .pdf'因此,如果我的密钥为1,则为1.pdf
,如果为A-22ds,则文件为A-22ds.pdf
。
答案 0 :(得分:1)
假设您有一个名为MyWebbrowserControl的Web浏览器控件表单,并且您希望在其中获取PDF:
Public Sub LoadPDF(MyPdfLocation As String)
Dim wb As Object
Dim strHTML As String
strHTML = "<html><head><title>My PDF</title></head><body>" & _
"<embed style=""width:100%;height:100%;"" src=""" & Application.HtmlEncode(MyPdfLocation) & """ type=""application/pdf""></embed></body></html>"
Set wb = MyWebbrowserControl.Object
With wb
.Navigate2 "about:blank"
Do Until .ReadyState = 4 '=READYSTATE_COMPLETE
'This is an inefficient way to wait, but loading a blank page should only take a couple of milliseconds
DoEvents
Loop
.Document.Open
.Document.Write strHTML
.Document.Close
End With
End Sub
(我使用非常通用的HTML,它可能会受益于一些调整)。
他们在Form_Current
上调用它,例如:
Private Sub Form_Current()
Dim path As String
Dim filename As String
path = "S:\MDM\MIRS\SCOPE-MP\"
filename = Me.cboPSENumber.Value + "_MP.pdf" 'Final path should be path + filename
Me.LoadPDF path & filename
End Sub