Доступ к параметрам печати отчета для печати пользовательских форм

У меня есть пользовательская форма и отчет в Access, и у меня есть кнопка "Печать отчета", которая берет текущую запись для базы данных и распечатывает отчет, который я создал для нее. Моя проблема в том, что мой код быстро распечатывается в отчете. После того, как я нажму кнопку "Печать отчета", которую я создал, она высветится в окне предварительного просмотра, но затем автоматически напечатает отчет. Я хочу иметь возможность просматривать предварительный просмотр перед печатью отчета, открывать диалоговое окно печати и выбирать, какой принтер я хочу использовать, вместо того, чтобы переходить к быстрой печати и использовать принтер по умолчанию. Мой код ниже для текущего формата, я не уверен, где или как сделать эту настройку. Спасибо заранее за любую помощь!

Private Sub cmdPrintReport_Click()
  Dim strReportName As String
  Dim strCriteria As String

  strReportName = "rptDrillReclamation"
  strCriteria = "[HoleNumber]='" & Me![HoleNumber] & "'"
  DoCmd.OpenReport strReportName, acViewPreview, , strCriteria

On Error GoTo Err_cmdPrintReport_Click

  Dim stDocName As String

  stDocName = "rptDrillReclamation"
  DoCmd.OpenReport stDocName, acNormal

Exit_cmdPrintReport_Click:
  Exit Sub

Err_cmdPrintReport_Click:
  MsgBox Err.Description
  Resume Exit_cmdPrintReport_Click

End Sub

1 ответ

Решение

Вы открываете отчет дважды! Две строки кода, начинающиеся с DoCmd.OpenReport,

Первый раз View параметр установлен в acViewPreview поэтому он отображается (= предварительный просмотр) на экране без печати. Второй раз View параметр установлен в acNormal (= без предварительного просмотра), поэтому он печатает прямо на принтер, не показывая на экране.

Кстати, во второй раз вы печатаете все записи, потому что критерии не отправлены!

Удалить второй Docmd.OpenReport..., Это ненужно и является причиной вашей проблемы.

Другие вопросы по тегам