Как автоматизировать печать PDF отдельных форм в MS Access? - PullRequest
1 голос
/ 24 марта 2019

Я пытаюсь распечатать отдельный файл PDF (счет-фактура) из формы для каждой записи в моей базе данных.

  • Форма для печати: BillingInvoice-
  • Источник для формы: FamilySubDIscSubDIscGrand
  • Основное поле: Fnum

Я пытался взять код отсюда: Как вывести несколько файлов PDF на основе записи в MS Access?

Это код, который код, как я пытался изменить его:

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

Я делаю что-то не так.

Он успешно сохраняет PDF-файлы с последовательностью FNum, но печатает отдельные записи для каждого 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)
...

1 Ответ

0 голосов
/ 24 марта 2019

Если FNum является числовым, вы не должны заключать значение критерия в одинарные кавычки, то есть это:

"Column='" & ColumnName & "'"

Должно стать:

"Column=" & ColumnName

Кроме того, если в вашей форме нет поля с именем Column, его следует изменить на:

"FNum = " & ColumnName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...