Database 如何在MS Access中自动打印单个表单的PDF?

Database 如何在MS Access中自动打印单个表单的PDF?,database,forms,ms-access,vba,record,Database,Forms,Ms Access,Vba,Record,我正试图从表格中为数据库中的每条记录打印一个单独的pdf文件(账单发票) 要打印的表单:billingvoice- 表格来源:familysubdiscscrand 主字段:Fnum 我尝试从这里获取代码: 这是我试图修改的代码: Option Compare Database Option Explicit Private Sub PrintBtn01_Click() Dim rsGroup As DAO.Recordset Dim ColumnName As String, m

我正试图从表格中为数据库中的每条记录打印一个单独的pdf文件(账单发票)

  • 要打印的表单:
    billingvoice-
  • 表格来源:
    familysubdiscscrand
  • 主字段:
    Fnum
我尝试从这里获取代码:

这是我试图修改的代码:

Option Compare Database
Option Explicit

Private Sub PrintBtn01_Click()

Dim rsGroup As DAO.Recordset
  Dim ColumnName As String, myPath As String

  myPath = "C:\test\"

  Set rsGroup = CurrentDb.OpenRecordset("SELECT DISTINCT FNum FROM FamilySubDIscSubDIscGrand", _
                                    dbOpenDynaset)
Do Until rsGroup.EOF
  ColumnName = rsGroup!FNum

  ' OPEN FORM, FILTERING RECORDSOURCE BY COLUMN VALUE
  DoCmd.OpenForm "BillingInvoice-", acViewPreview, , "Column='" & ColumnName & "'"
  ' OUTPUT FORM TO FILE

  DoCmd.OutputTo acOutputForm, "BillingInvoice-", acFormatPDF, _
                                myPath & ColumnName & ".pdf", False

    rsGroup.MoveNext
  Loop

End Sub
我做错了什么

它成功地按顺序保存带有
FNum
s的pdf,但打印每个
FNum
的单独记录时,它会打印所有记录。因此,我最终得出以下结论:

FNum001.pdf (all records for db)
FNum002.pdf (all records for db)
Fnum003.pdf (all records or db)
...
但我需要的是:

FNum001.pdf (individual record for FNum001)
FNum002.pdf (individual record for FNum002)
FNum003.pdf (individual record for FNum003)
...

如果
FNum
是数字,则不应将标准值用单引号括起来,即:

"Column='" & ColumnName & "'"
应成为:

"Column=" & ColumnName
此外,除非表单上有一个名为
列的字段,否则应将其更改为:

"FNum = " & ColumnName

如果
FNum
是数字,则不应将标准值用单引号括起来,即:

"Column='" & ColumnName & "'"
应成为:

"Column=" & ColumnName
此外,除非表单上有一个名为
列的字段,否则应将其更改为:

"FNum = " & ColumnName

李麦克,谢谢你的帮助。我采纳了你的建议,改成了报告而不是表格。它正在发生,而且肯定比以前好。它仍然不是完全自动化的,我收到一些奇怪的似乎无关的错误(提示输入本应传递到报告的变量,可能是损坏,但可能只是我遗漏了一些东西)。“我会继续修补它,让你知道它是如何运行的。李·麦克,谢谢你的帮助。我采纳了你的建议,转而使用了一个报告而不是一个表格。它正在出现,而且肯定比以前更好。它仍然不是全自动的,而且我遇到了一些奇怪的似乎无关的错误(提示输入本应传递给报告的变量,可能是损坏,但可能只是我遗漏了什么。”我会继续修补它,并让您知道它是如何运行的。