|
|
|
| Проблема: нужно сформировать комплект отчетов из Access в Acrobat. Все, что удалось придумать : 1. Установить принтер по умолчанию в Acrobat; 2. Выводить в цикле отчет на печать и ручками сохранять отдельные куски в выбранной папке.
Работает, но коряво. Некрасиво так.
Может, кто-нибудь знает как это сделать иначе.
Dim Dbs As Database
Dim qbf As QueryDef
Dim rst As Recordset
Dim RepFilter As String
Set Dbs = CurrentDb
Set qbf = Dbs.QueryDefs!qSpr_05
Set rst = qbf.OpenRecordset
With rst
If .RecordCount > 0 Then
.MoveFirst
Do While Not .EOF
RepFilter = "qSpr_04.КодСубъект=" & rst!КодСубъект
DoCmd.Echo True, "Ждите... формируется субъект " & rst!КодСубъект
DoCmd.OpenReport "rep_ОснПечать", acViewNormal, "", "[qSpr_04]![КодСубъект]=" & rst!КодСубъект, acNormal ' Рассылка осн
MsgBox ("Сформирован субъект: " & rst!КодСубъект)
.MoveNext
Loop
End If
End With
rst.Close
Set rst = Nothing
MsgBox ("Формирование закончено") | |
|
| |
|
|
|
| Не совсем понятно, с чем затруднения, но на всякий случай:
У Стефана Лебанса есть метод <ReportToPDF>, использующий DLL для вывода отчетов в формат PDF в А2000-А2003.
Попробуйте его. | |
|
| |
|
|
|
| Спасибо огромное, буду разбираться. Но мне бы хотелось, чтобы все PDF файлы "уходили" в конечную папку без открытия Acrobat. А то расход времени, похоже, примерно одинаковый.
Может, еще варианты есть? | |
|
| |
|
|
|
| В функции ConvertReportToPDF этого метода есть аргумент, отвечающий за открытие/не открытие просмотрщика:
...Optional StartPDFViewer As Boolean = True...
|
| |
|
| |
|
|
|
|
Может, еще варианты есть?
|
Перейти на А2007 и использовать его DoCmd.OutputTo. | |
|
| |
|
|
|
| C Лебансом все понятно, спасибо всем еще раз. Но, может, еще способы есть? Я имею в виду не использовать чужие библиотеки. Может, с ActiveX...? | |
|
| |
|
|
|
| Не! Только A2007
А если честно - я не в курсе. | |
|
| |