Access 2002

Процедура RefreshReportList


Процедура RefreshReportList, приведенная  11.7, использует для получения имен отчетов одну из новинок Access 2000 — коллекция А11 Reports объекта CurrentProject. Эта коллекция состоит из объектов AccessOb- ject, в которых хранятся имена объектов и ряд других специфических для Access свойств. За более подробной информацией об этих объектах, которые вы теперь будете использовать вместо объектов DAO Document и Container, обращайтесь к главе 5.

Метод класса IsReady рабочей книги проверяет, создан ли экземпляр класса AccessAutomation, инициализирован ли сеанс связи с Access и загружены ли проект или база данных.

Процедура Ref reshReportLi st не нуждается в особых комментариях, поскольку в ней используется та же технология, что и для получения списка отчетов в приложении Access. Единственным отличием является необходимость указывать полное происхождение объекта CurrentProject, предваряя обращение к нему ссылкой на AccAuto. Access Inst.

Такой способ получения списка отчетов применим к любой базе данных или проекту Access. Однако из-за большого количества вызовов процедур между процессами он может оказаться довольно медленным. Альтернативный и более быстрый способ требует включения в управляемую извне базу данных специального кода VBA, о чем рассказывается в разделе «Вызов пользовательских функций из приложения-клиента автоматизации».

Предварительный просмотр и печать отчетов Access из приложения-клиента автоматизации осуществляется исключительно просто. Если вы знаете имя отчета, для его открытия достаточно вызвать метод OpenReport объекта Access DoCmd. Наше приложение выполняет эту операцию в методе OpenReport объекта рабочей книги, приведенном  11.8. Мы снова используем коллекцию А11- Reports: на этот раз с его помощью определяем, загружен ли интересующий нас отчет.

Комментарии закрыты