Access 2002. Самоучитель
Шрифт:
Теоретически нет препятствий к тому, чтобы включить в макрос также и процедуру VBA. Однако на деле все обстоит скорее наоборот: макросы используются как составная часть этих программ, тем более что любой макрос легко конвертировать или включить в процедуру VBA.
Процедуры VBA
Как уже отмечалось, макросы обычно представляют собой только линейную последовательность действий. Но на практике этого недостаточно – требуется весь арсенал средств программирования: ветвления и циклы, вызов вспомогательных процедур и передача параметров, организация диалога с пользователем, проверка и изменение состояния различных элементов документа и т. д.
По сравнению с SQL и макросами язык VBA
Существуют два вида процедур VBA: подпрограммы (subprocedures) и функции.
Подпрограммы выполняют одну или больше операций, однако не возвращают значение. Функции не только выполняют операции, но и возвращают значение. В справочной системе Access вы найдете множество примеров процедур событий. Эти процедуры можно скопировать и связать со свойствами события элемента управления. Затем вы можете изменить код и имена переменных, чтобы они соответствовали вашему приложению. Для создания собственных процедур используйте построитель программ (см. главу 12).
Язык XML
Для хранения данных используются многочисленные форматы, и часто это связано с применением разных форматов в различных приложениях. Это делает обмен данными между приложениями исключительно сложной задачей, требующей значительных временных затрат. В Microsoft Access 2002 пользователю предоставляется удобный способ сбора, адаптации и совместного использования данных в неограниченном числе приложений и форматов – XML (Extensible Markup Language – расширяемый язык разметки).
Передача информации через Internet и между различными программами всегда была трудной задачей из-за разницы в форматах и структурах данных разных разработчиков программного обеспечения. Язык HTML, хорошо подходящий для отображения текста и изображений в Web-обозревателях, ограничен в своих возможностях определения данных и структуры данных. HTML описывает внешний вид Web-страницы, тогда как XML определяет данные и описывает их структурирование. Язык XML определяет формат обмена данными, обеспечивающий обмен данными между разными компьютерами и приложениями, и позволяет разделить процессы определения и презентации данных. В результате данные XML могут представляться по-разному с помощью различных файлов презентации.
Протокол XML представляет набор правил и соглашений для форматов и структур данных. Он обеспечивает способ создания файлов, которые легко разрабатываются и читаются разными компьютерами и приложениями.
Можно рассматривать три наиболее общих сценария использования языка XML с программой Microsoft Access: импорт данных из различных источников, экспорт данных Microsoft Access в файл XML и преобразование данных XML в другой формат.
Импорт данных из других источников
Обычно для выполнения задания необходимо собрать данные, преобразовать их в доступный для обработки формат и открыть доступ к ним для других сотрудников. Сложность заключается в том, что большая часть данных обычно разбросана по множеству внутренних и внешних источников данных и хранится в разных форматах. Данные могут поступать чаще всего из следующих источников:
• внутренних серверов Microsoft SQL;
• электронных таблиц Microsoft Excel;
• других внешних источников данных;
• текстовых файлов;
• приложений с собственными форматами данных.
Многие из этих источников поддерживают язык XML как формат обмена данными, что упрощает процесс адаптации этих данных для личного использования.
Предположим, требуется периодически объединять данные из разных источников для создания отчета, просматриваемого руководителями и сотрудниками.
Выполнение этой задачи с использованием языка XML состоит из следующих шагов:
1. Работа с администраторами различных источников данных для экспорта данных в набор файлов XML, расположенных на удаленном сервере.
2. Импорт данных из исходных файлов XML в базу данных Microsoft SQL Server. Эти данные также могут быть импортированы в базу данных Microsoft Access или в локальную копию ядра Microsoft SQL Server 2000 Desktop Engine, которое также поддерживает импорт данных XML. Этот процесс может быть автоматизирован путем создания в Microsoft Access программы на языке Visual Basic для импортирования.
3. Создание набора статистических запросов к импортированным данным с помощью клиентской части проекта Microsoft Access, присоединенной к SQL Server.
4. Создание необходимых отчетов или страниц доступа к данным с помощью полученных представлений.
5. Печать отчета, создание снимка отчета или публикация страницы на Web-узле в Internet.
Основное преимущество от использования языка XML в данном сценарии заключается в том, что для извлечения данных из разных источников в Microsoft SQL Server или в Microsoft Access не требуется никаких операций, кроме создания запросов. Без использования XML эта задача может включать экспорт данных в текстовый файл (в случае, если эта операция поддерживается всеми источниками данных), обработку файлов данных путем добавления разделителей компонентов данных, импорт данных в Microsoft SQL Server или в Microsoft Access и, наконец, очистку и доработку данных. Использование XML позволяет минимизировать временные затраты на переформатирование и очистку данных.
Экспорт данных XML из Microsoft Access
Помимо задач сбора и объединения данных часто приходится сталкиваться с задачей предоставления совместного доступа к этим данным из разных приложений или для нескольких пользователей. Диалоговое окно Microsoft Access Экспорт XML позволяет экспортировать данные из проекта или базы данных Microsoft Access в файл данных XML, а также экспортировать описания схемы данных и создавать файлы, упрощающие управление представлением данных.
Преобразование данных
Ранее мы рассмотрели экспорт данных (или объектов Microsoft Access) в файл XML с теми свойствами и характеристиками, которые они имели в Microsoft Access. Предположим, нужно преобразовать данные (или объекты) в другой формат, например для отображения в Web-обозревателе. Для этого может потребоваться изменить структуру данных с помощью фильтра или сортировки и добавить теги [14] HTML, чтобы определить отображение данных в обозревателе. Это можно сделать вручную, добавив теги HTML в файл XML и перераспределив данные, что может оказаться громоздкой задачей; либо выполнить это преобразование с помощью файла XML другого типа – XSLT (XSL Transformation file – файл преобразования XSL).