Итак, в настоящем разделе мы подробно рассмотрели структуру перекрестного запроса и уяснили для себя существенное правило: чтобы обработать группу записей и получить справку по множеству объектов, надо сначала четко определить само множество. В данном конкретном примере нам необходимо суммарное число ЧС определенного вида по разным российским регионам. Значит, в первую очередь надо получить такие сведения по каждому из этих регионов. В ряде случаев для решения указанной задачи придется создать запрос на выборку.
Работа со средой Access 2002 без ее инсталляции
Подобная постановка вопроса может показаться несколько странной, однако она имеет определенные основания. Предположим, разработчик сначала создал базу данных в программной среде Access 2002, а затем установил эту БД на другой локальный компьютер, где не инсталлированы ни Access 2002, ни даже пакет Microsoft Office. Возникает естественный вопрос: может ли пользователь работать на таком компьютере с созданной базой данных? Оказывается, да, и в настоящем разделе мы расскажем, как этого добиться.
В главе 9 уже говорилось, что в большинстве СУБД использование языка SQL фактически является правилом. Наличие общепринятого языка позволяет стандартизировать работу приложений с источниками данных – различными СУБД. В Windows такую возможность обеспечивает Open Data Base Connectivity (ODBC) – стандартный набор функций, помогающих обрабатывать информацию на серверах баз данных SQL. Именно ODBC обеспечивает различным программам доступ к одному и тому же источнику сведений.
Принцип действия ODBC состоит в следующем. Чтобы то или иное приложение могло воспользоваться информацией из базы данных какой-либо СУБД, необходимо установить драйвер ODBC для баз данных конкретной СУБД. Для каждой СУБД должен быть установлен свой драйвер. Папка, где хранится этот драйвер, обычно так и называется – ODBC – и устанавливается вместе с загрузкой Windows. Драйвер ODBC – это динамически связываемая библиотека со стандартным интерфейсом, которая обеспечивает доступ к базам данных в определенном формате. Из любого приложения пользователь может легко связаться с любым из установленных драйверов ODBC и получить доступ к информации в базе данных, даже если СУБД, где была создана эта база, не инсталлирована на пользовательском компьютере.
В составе пакета Microsoft Office, начиная с самой первой версии, есть программа MS Query, обеспечивающая доступ к любым данным, для которых установлены драйверы ODBC. Отметим, что MS Query имеет собственный интерфейс и может функционировать отдельно от Microsoft Office. Мы воспользуемся программой MS Query, взятой из ранних, русифицированных редакций Microsoft Office, поэтому в настоящем разделе диалоговые окна будут выводиться на русском языке.
Рассмотрим работу с MS Query на конкретных примерах.
Сначала откройте папку MS Query, а в ней запустите программу (см. рис. 11.74). На экране появится основное диалоговое окно программы MS Query, показанное на рис. 11.75.
Рис. 11.74
В нем следует воспользоваться кнопкой
(Открыть запрос). Так вы начнете формировать запрос на выборку данных из БД в Access 2002, не инсталлируя саму систему Access. Чтобы убедиться в этом, проведите небольшой эксперимент. Перенесите в какую-нибудь другую папку программу, которая запускает Access 2002, – Msaccess.exe. Тем самым вы блокируете запуск СУБД.
Итак, щелкнув по кнопке Открыть запрос, вы откроете окно Выбор источника данных (см. рис. 11.76). Здесь можно выбрать опцию MS Access Database, а затем щелкнуть по клавише Использовать. Однако сначала откройте окно Источники данных ODBC, показанное на рис. 11.77.
Здесь приведен перечень тех СУБД и вообще файлов других форматов, к которым можно получить доступ с помощью ODBC. Система Access 2002 далеко не единственная в этом списке. Теперь щелкните по кнопке ОК. После обычной Windows-процедуры поиска нужного файла вы открываете базу данных db1.mdb и видите на экране знакомое окно Добавить таблицу (см. рис. 11.78).