Как подставить принтер в определённый отчёт?

2AN

есть определённый отчёт, который надо выдать на выбранный пользователем принтерпри этом другие отчёты должны выдаваться на выбранный принтер по умолчанию (одновременно)reports("название").report НЕ поддерживается Access-2003как подставить нужный принтер в определённый отчёт?
18 ответов

2AN

при этом другие отчёты должны выдаваться на выбранный принтер по умолчанию (одновременно)
что значит "одновременно"? Одновременно, в полном смысле этого слова, не получится...по теме - а нельзя пользователю окошко с выбором принтера открывать? И пусть он там куда надо, туда и отправляет


2AN

basil-77,выдаётся одновременно (для пользователя, одним запросом): накладная, ТТН, СФ накладная и СФ печатается на принтер1, ТТН - на принтер2принтер1 и принтер2 выбирает пользователь, ему НЕ надо делать это каждый раз


2AN

третья попытка написать ответ (не сохраняется)надо выдать накладную и СФ на принтер1, ТТН - на принтер2оба принтера выбирает пользователь один раз


2AN

третья попытка написать ответ (не сохраняется)надо выдать накладную и СФ на принтер1, ТТН - на принтер2оба принтера выбирает пользователь один раз
вторая попытка послать по нужному пути http://www.sql.ru/forum/actualthread.aspx?bid=4&tid=383762&hl=%e2%fb%e1%ee%f0%20%ef%f0%e8%ed%f2%e5%f0%e0


2AN

третья попытка написать ответ (не сохраняется)надо выдать накладную и СФ на принтер1, ТТН - на принтер2оба принтера выбирает пользователь один раз
четвертая попытка:выше дали ссыль на код, делаете формочку, выводите в нее список принтеров (код выше), пользователь выбирает что там ему нужно, выставляете первый принтер по-умолчанию, отправляете первый отчет, затем второй принтер по-умолчанию, отправляете второй отчет.п.с. не в курсе, после смены принтера по-умолчанию, перезапуск акксеса не потребуется ли...


2AN

basil-77,
п.с. не в курсе, после смены принтера по-умолчанию, перезапуск акксеса не потребуется ли...
"Ето врядли"©


2AN

basil-77,"Ето врядли"©
ну, тем лучше для ТС :)


2AN

1. мне НЕ надо ставить принтер по умолчанию, я знаю как это сделать2. пользователю НЕ надо выбирать принтер, ему это НЕ удобно делать каждый раз при выдаче 200-400 документов в день3. пользователю надо: печать 3 документов одновременно (друг за другом, одной пачкой, одним нажатием на кнопку), но документ-1 и джокумент-3 должны уйти на принтер-1, а документ-2 должен уйти на принтер-24. т.е. пользователю надо: один раз (в день, в неделю, в месяц) выбрать принтер-1 для документа 1 и 3 и принтер-2 для документа-25. т.е. программисту надо: в момент выбора пользователем принтера-2 подставить драйвера принтера-2 в документ-2


2AN

Reports(sReport).Printer = Printers(sPrinter)


2AN

Владимир Саныч,это НЕ срабатывает, принтер НЕ меняется


2AN

2AN,
Public Sub PrintReport(strReport As String, strPrinter As String)
Dim rpt As Report
DoCmd.OpenReport strReport,View:=acViewPreview, WindowMode:=acHidden
Set rpt = Reports(strReport)
Set rpt.Printer = Application.Printers(strPrinter)
DoCmd.OpenReport strReport
DoCmd.Close acReport, strReport
Set rpt = Nothing
End Sub


2AN

Владимир Саныч,это НЕ срабатывает, принтер НЕ меняется
Странно. Это код из работающей программы, установленной на нескольких десятках компьютеров и пашущей круглые сутки. Если бы это не работало, меня бы давно убили.Какая у Вас версия Аксесса?


2AN

Reports(sReport).Printer = Printers(sPrinter)
а можно по подробнее описать как это подключитья так понимаю sPrinter-имя принтераа sReport - имя отчета?


2AN

я так понимаю sPrinter-имя принтераа sReport - имя отчета?
Да, всё правильно.


2AN

Владимир Саныч, а куда этот код вставить? я хочу вставить в стандартную кнопку для печати:
Private Sub Кнопка73_Click()On Error GoTo Err_Кнопка73_Click DoCmd.OpenReport stDocName, acNormalExit_Кнопка73_Click: Exit SubErr_Кнопка73_Click: MsgBox Err.DescriptionEnd Sub
Ну пожалуйста подскажите, что то по разному перепробовал, не получается.......все равно оба отчета идут на принтер по умолчанию


2AN

pitbullalex,ТС, я же тебе дал функцию. Ты её пробовал? Там уже всё есть. Поставь на входе имя отчёта и название принтера.
Private Sub Кнопка73_Click()
On Error GoTo Err_Кнопка73_Click PrintReport stDocName, "Мой принтер"
Exit_Кнопка73_Click: Exit Sub
Err_Кнопка73_Click: MsgBox Err.Description
End Sub
Функцию можешь положить рядом. Но будет доступно только в форме. Если вынесешь в отдельный модуль, то из любого места.


2AN

Панургова PrintReport чётенько сработала у меня. В акцессе 2002.Спасибо.Как своевременно появилась эта тема на форуме, даже искать не пришлось. Зашел с аналогичным вопросом, а он вот перед глазами уже. Решенный. Дед Морозовы проделки. Мистика.