Открыть только одну страницу отчета в Microsoft Access через VBA - PullRequest
1 голос
/ 30 января 2012

То, что я хочу сделать, очень просто, но я совершенно новичок в VBA.Я хочу открыть отчет и отфильтровать его по номеру страницы, чтобы я мог открыть, скажем, только страницу 2. У меня уже есть переменная для количества страниц.Мне просто нужно знать, что ввести в аргумент фильтра функции DoCmd.OpenReport.

Общая цель - экспортировать каждую страницу в виде отдельного PDF.Если я могу сделать вышеупомянутое, я могу сделать все остальное, но если есть что-то действительно простое, что мне не хватает, я открыт для предложений.Спасибо.

Кстати, это Access 2010.

1 Ответ

1 голос
/ 30 января 2012

Для печати отдельных страниц вы можете работать с объектом принтера (http://msdn.microsoft.com/en-us/library/ff837177.aspx) и командой PrintOut (http://msdn.microsoft.com/en-us/library/aa220516(v=office.11).aspx), однако, вероятно, что у вас есть естественный разрыв, такой как запись клиента, и эти разрывы можно использовать с аргументом Where OpenReport для простого получения отдельных отчетов.

РЕДАКТИРОВАТЬ комментарии

Очень грубо:

sSQL = "SELECT SuitableField FROM Atable ORDER BY Something"

Set rs = CurrentDB.OpenRecordset(sSQL)

Do While Not rs.EOF
   DoCmd.OpenReport "TheReport", acViewNormal, , _
       "SuitableField='" & rs!SuitableField & "'"
   rs.MoveNext
Loop

Возможно, вы захотите проделать определенную работу, чтобы убедиться, что вы выбираете отчеты с данными в них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...