使用MS Access VBA,使用某些字段将文件中的每个记录打印到单独的pdf文件中

问题描述

我的代码似乎有问题。输出显示如图中所示的值。我是vba的新手,因此如果有人能找出以下代码中缺少的内容,我将不胜感激。

enter image description here

enter image description here

Private Sub Command_PDF_Click()

Dim myrs As Recordset
    Dim myPDF,myStmt As String

    myStmt = "Select distinct Code1 from Query_Certificate_Eng"
    Set myrs = CurrentDb.OpenRecordset(myStmt)

    Do Until myrs.EOF

        myPDF = "C:\Users\93167\Desktop\Output Certificate\" & Format(myrs.Fields("Code1"),"0000000000000") & ".pdf"

        DoCmd.OpenReport "Certificate_Eng",acViewPreview,"Code1" = " & myrs.Fields("").value"

        DoCmd.OutputTo objectType:=acOutputReport,objectName:="Certificate_Eng",outputformat:=acFormatPDF,outputfile:=myPDF,outputquality:=acExportQualityPrint
        
        DoCmd.Close
        myrs.MoveNext

    Loop
myrs.Close
Set myrs = nothing

End Sub

解决方法

问题在您的报告打开条件中。因此,将其更改为

"Code1 = '" & myrs!Code1 & "'"