Доступ к параметрам печати отчета для печати пользовательских форм
У меня есть пользовательская форма и отчет в 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...
, Это ненужно и является причиной вашей проблемы.