|
|
|
| Подскажите, пожалуйста, что можно сделать в следующей ситуации:
Необходимо печатать отчет на двух сторонах листа. Имеется лазерный принтер НР 1320 с возможностью двухсторонней печати (в свойствах данная функция активирована). При попытке распечатать отчет командой из формы:
stDocName = "Otchet-A"
DoCmd.OpenReport stDocName, acNormal
отчет печатается на двух листах (с одной стороны каждого листа). Если, к примеру, из этой же базы распечатать какой-либо открытый запрос, то печать идёт, как и надо - с двух сторон листа. Пробовал на двух компьютерах с аналогичными принтерами. | |
|
| |
|
|
|
| Private Sub Кнопка0_Click()
DoCmd.OpenReport "Otchet-A", acViewPreview
Reports(Otchet-A).Printer.Duplex = acPRDPVertical
DoCmd.OpenReport "Otchet-A", acViewNormal
End Sub | |
|
| |
|
|
|
| Спасибо!
А можно ли эту проблему решить без использования предварительного просмотра?
Дело в том, что по нажатию кнопки печатается более 30 видов двусторонних протоколов на каждую запись, и очень неудобно, если всё это будет постоянно выскакивать. | |
|
| |
|
|
|
| Дык, это не работает!!!!!!!
DoCmd.OpenReport "Otchet-A", acViewPreview
Reports("Otchet-A").Printer.Duplex = acPRDPVertical
DoCmd.OpenReport "Otchet-A", acViewNormal
| |
|
| |
|
|
|
| кхе-кхе...
что именно ЭТО у вас не работает и как именно? | |
|
| |
|
|
|
| >Дык, это не работает!!!!!!!
Это работает начиная с акса 2002.
А отчёт также называется?
А принтер поддерживает двухстороннюю печать?
>А можно ли эту проблему решить без использования предварительного просмотра?
По моему нет. | |
|
| |
|
|
|
| К сожалению так и не смог сегодня распечатать двусторонний отчет. Всё время идут по одному листу. Вроде бы сделал всё как вы и написали. В чём может быть проблема?
Принтер гонит двустороннюю печать, откуда угодно, только не по команде из access. Если отчет открыть в ручную и в свойствах принтера снять и поставить галочку двусторонней печати то тогда отчет печатается двусторонний, если командой то односторонний. Пробовал и на разных принтерах и на разных компьютерах. | |
|
| |
|
|
|
| попробуйте обратиться к статье в Help'e
search criteria: Duplex | |
|
| |
|
|
|
| К хелпу обращался сразу же, но как пример, который там приводится, применить в моём случае ума не приложу.
Sub SetPrinter(strFormname As String)
DoCmd.OpenForm FormName:=strFormname, view:=acDesign, _
datamode:=acFormEdit, windowmode:=acHidden
With Forms(form1).Printer
.TopMargin = 1440
.BottomMargin = 1440
.LeftMargin = 1440
.RightMargin = 1440
.ColumnSpacing = 360
.RowSpacing = 360
.ColorMode = acPRCMColor
.DataOnly = False
.DefaultSize = False
.ItemSizeHeight = 2880
.ItemSizeWidth = 2880
.ItemLayout = acPRVerticalColumnLayout
.ItemsAcross = 6
.Copies = 1
.Orientation = acPRORLandscape
.Duplex = acPRDPVertical
.PaperBin = acPRBNAuto
.PaperSize = acPRPSLetter
.PrintQuality = acPRPQMedium
End With
DoCmd.Close objecttype:=acForm, objectname:=strFormname, _
Save:=acSaveYes
End Sub | |
|
| |
|
|
|
| ИМХО заменить форму на отчет и выбросить лишние установки. разве не помогает? | |
|
| |
|
|
|
| Сколько ни пытался, у меня ничего хорошего не вышло. | |
|
| |
|
|
|
| хм... на любых компьютерах на любых двусторонних принтерах? | |
|
| |
|
|
|
| Хотелось бы видеть, что-нибудь по существу вопроса, а не обсуждать любые принтеры. | |
|
| |
|
|
|
| ну, если по существу вопроса, то у меня все печатает...
на двух сторонах, на всех двухсторонних принтерах, с разных машин... | |
|
| |
|
|
|
| dim st as string
...
st = app.Dialogs(wdDialogFilePrint).Display 'появится диалоговое окно печати документа
If st = "-1" Then
печать документа
else
msgbox "не удалось напечатать"
endif
Кстаит, ти вопросы поднимались неодонократно на этом форуме, введите в поиск и посмотрите может еще че нить интересное найдете | |
|
| |
|
|
|
| Это всё смотрелось первым делом. Но, к сожалению, мне что-то так и не попалось решение позволяющие печатать двусторонку потоком (без предпросмотра или каких либо промежуточных форм). Буду завтра опять пробовать применять предложенное вами решение. | |
|
| |