Протокол 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).
Файлы XSLT (команды XSLT являются поднабором команд XSL) предназначены в первую очередь для преобразования одного документа XML в другой. Также файлы XSLT удобно использовать для преобразования файлов XML в HTML или другие текстовые форматы.
В чем заключается разница между файлами XSL и XSLT? Файл XSL определяет форматирование и представление документов XML на экране, на принтере и других устройствах вывода. Файл XSLT фактически выполняет преобразование.
После проведенного краткого сопоставления сформулируем некоторые рекомендации по выбору языка программирования.
Выбор языка программирования
В приложении легко создавать и применять макросы и SQL-программы, но иногда вам придется использовать язык VBA. Рассмотрим такой пример. Сообщения об ошибках, которые выводит система, обычно носят довольно абстрактный характер и скорее вызывают новые вопросы, чем дают ответы. Чтобы облегчить работу пользователя, лучше отключить вывод таких сообщений и заменить их на короткие информативные «диагнозы», дополненные советами по решению проблем. Все это можно сделать только с помощью программы VBA.
Макросы выполняются с заданными значениями аргументов. Аргументы – это параметры, используемые при вычислении значений функций и при выполнении процедур. Аргументы заключаются в круглые скобки. Если в ходе работы значения аргументов требуется изменить, то вы должны написать процедуру VBA. Как видите, выбор между макросами и кодом VBA зависит от того, что вы хотите сделать. Макросы могут осуществлять простые операции, такие как просмотр отчета или выключение панели инструментов. Некоторые задачи можно выполнять только с помощью макросов (например, определенные операции при первом запуске базы данных или установление соответствия между комбинацией клавиш и командой).
Access 2002 содержит много встроенных внутренних функций наподобие Date() и Pmt(), которые возвращают значения при указании аргументов. Внутренние функции доступны и для макросов. Если вы хотите сами создать функции, то должны использовать соответствующие процедуры VBA. Кроме того, эти программы позволяют создавать и модифицировать объекты точно так же, как и мастера. С помощью процедур VBA вы можете изменить оформление и функции элементов управления формы и других объектов. Отметим, что процедуры легко открывать, поскольку они хранятся как модули. (Макросы содержатся отдельно во вкладке Макросы окна базы данных.)
Итак, программирование с помощью VBA имеет ряд преимуществ. Еще раз подчеркнем их:
• процедуры VBA находятся внутри определения формы или отчета. Если вы перемещаете или копируете эту форму или отчет в другую БД, то процедуры VBA автоматически перемещаются вместе с ней, в отличие от макросов (последние придется переместить или скопировать отдельно);
• если ни одна из встроенных в систему функций не удовлетворяет вашим требованиям, то язык VBA позволяет создавать процедуры, состоящие из специализированных функций. Впоследствии они могут также использоваться вместо сложных выражений;
• макросы обрабатывают все множество записей. С использованием процедур VBA можно просматривать и обрабатывать записи по отдельности, изменяя команды в зависимости от установленных значений;
• аргументы макроса нельзя изменить во время его работы. Напротив, когда выполняется процедура VBA, ей можно передавать другие значения или определять переменные в качестве аргументов;
• процедура VBA позволяет обнаружить ошибку, перехватить сообщение о ней и заменить его на более информативный для пользователя совет;
• язык VBA чрезвычайно удобен для создания определений объектов БД и для манипулирования ими. Вы можете изменить свойства этих объектов, а также добавить или удалить элементы управления.
Что касается языка XML, то он также занимает свою специфическую нишу, на которую, как правило, не претендует ни один из описанных выше языков. Вообще говоря, при очень строгой классификации этот язык можно было бы и не относить к языкам программирования, поскольку он «специализируется» на преобразовании данных из одного формата в другой. Но, если вспомнить, что при отсутствии такого языка для решения этой задачи все равно надо привлекать программные средства, то жесткие критерии классификации уже не кажутся столь необходимыми. С учетом этого язык XML по праву может занимать свое место среди языков программирования.
1. Access предоставляет пользователю возможность работы с несколькими языками программирования:
– SQL (Structured Query Language) – структурированным языком запросов. Это формальный стандартизованный язык высокого уровня, содержащий средства непроцедурной (не требующей программирования) спецификации запросов;
– макросами;
– VBA (Visual Basic for Applications) – объектно-ориентированным языком программирования;
– XML (Extensible Markup Language) – расширяемым языком разметки, предназначенным для сбора, адаптации и совместного использования данных в неограниченном числе приложений и форматов.