Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ЭКОНОМИКЕ.doc
Скачиваний:
399
Добавлен:
29.03.2016
Размер:
6.68 Mб
Скачать

3.2.8. Конструирование отчетов

Неотъемлемой функцией любых программных систем, так или иначе связанных с обработкой данных, является представление обетов по хранимой информации. Под отчетом традиционно понимается специальным образом структурированное представление хранимых данных, выводимое (как правило) на бумажный носитель. Перечислим принципиальные отличия отчетов от экранных форм, обусловившие выделение их в отдельный программный объект СУБД Access:

  • во-первых, отчеты являются исключительно средством вывода информации;

  • во-вторых, организация данных в отчетах предполагает возможность их сложного, многоуровневого структурирования;

  • в-третьих, структура информации, выводимой в отчете, должна быть согласована со структурой носителя. Например, разбиение отчета на страницы предполагает организацию вывода регулярных элементов в начале и конце каждого листа (колонтитулов), дублирование шапок таблиц и т.д. Также на внешний вид отчета значительное влияние оказывают параметры конкретного печатающего устройства, которое будет использовано для его вывода.

В то же время, к числу важных достоинств Access относится то, что идеология работы как с экранными формами, так и с отчетами максимально универсализирована. В частности, интерфейс режима конструирования макета отчета аналогичен режиму конструктора для экранных форм.

Рассмотрим способы решения задач разработки отчетов, которые могут возникать в рамках описываемой нами программной системы управления торгами ценными бумагами. Простейшие отчеты, которые, скорее всего, будут необходимы пользователям системы, – это распечатанные списки бумаг и агентов. Для их создания можно воспользоваться надстройками Автоотчет в столбец или Автоотчет ленточный. На рис. 3.21 показан макет отчета по агентам, созданный в режиме Автоотчет ленточный.

Рис. 3.21. Отчет по агентам в режиме конструктора

Из рис. 3.21 видно, что в процессе конструирования в макет отчета могут быть добавлены те же самые управляющие элементы, что и при конструировании макета экранной формы. В то же время следует отметить, что структура отчета как объекта базы данных имеет свою специфику. Во-первых, она определяется уровнями группировки данных, выводимых в отчет, а во-вторых, содержит секции, соответствующие регулярным элементам, помещаемым в начале и конце каждого листа – верхнему и нижнему колонтитулам. Для задания уровней группировки данных используется функция меню Вид > Сортировка и группировка или же одноименная пиктограмма на панели инструментов Конструктор отчетов.

При работе с отчетами активно используются (это видно из рис. 3.21) встроенные переменные [Page] и [Pages], возвращающие номер текущей страницы отчета и общее, количество страниц в нем, а также функция NowQ, определяющая текущую дату и время по системному календарю.

3.3. Организация многопользовательского доступа к данным

3.3.1. Технологические решения по организации доступа к данным

Рассмотрим архитектуру доступа к данным в Access. Схематично она представлена на рис. 3.22. В представленной схеме блок пользовательского интерфейса олицетворяет видимую часть СУБД, то есть то, с чем пользователь взаимодействует непосредственно (формы, отчеты и другие объекты). Под хранилищем данных понимаются файл (файлы), содержащие таблицы данных (например, в Access это mdb-файлы). Хранилище – это некоторый

Рис. 3.22. Архитектура доступа к данным в Access

пассивный элемент, в нем данные просто содержатся. Осуществлять манипуляции с ними – это задача процессора базы данных (или, как еще говорят, ядра базы данных). Он транслирует команды приложения в физические операции, непосредственно меняющие файл (файлы) хранилища данных. Основным достоинством описанной схемы является независимость приложения от типа базы данных, к которой она обращается: будут ли это данные во внутреннем формате Access или данные какой-то другой структуры – в приложении используются одни и те же объекты и методы доступа к ним.

В СУБД MS Access используется процессор, получивший название Jet (Joint Engine Technology). Он реализован в виде набора файлов динамически компонуемых библиотек (DLL), которые связываются с прикладной программой Access в период ее выполнения. В состав процессора Jet входят процессор запросов SQL и процессор обработки результатов, возвращаемых этими запросами.

Рассмотренная ранее модель объектного интерфейса доступа к данным ОАО представляет собой программную надстройку над процессором Jet. Jet также реализует описанные в 3.3.1 возможности по доступу к внешним данным в формате ISAM и источникам данных ODBC.

Для работы СУБД MS Access 97 был использован процессор Jet версии 3.5 для 32-разрядных приложений. Среди принципиальных преимуществ новой версии могут быть названы:

  • ODBCDirect – альтернативный режим DAO, который предоставляет возможности прямого обращения к источникам данных ODBC в обход ядра Jet. Это позволяет в некоторых случаях оптимизировать процесс работы с данными за счет использования специфических характеристик удаленных ODBC-источников;

  • для баз данных, управляемых процессором Jet, определены новые объекты, свойства и методы, позволяющие использовать новые возможности частичной репликации.

Также следует отметить, что в Jet реализована технология Rushmore – специальная методика управления запросами, которая позволяет очень эффективно отбирать Наборы записей при использовании в их критериях определенных типов выражений.