Читаем Access 2002: Самоучитель полностью

Итак, в настоящем разделе мы подробно рассмотрели структуру перекрестного запроса и уяснили для себя существенное правило: чтобы обработать группу записей и получить справку по множеству объектов, надо сначала четко определить само множество. В данном конкретном примере нам необходимо суммарное число ЧС определенного вида по разным российским регионам. Значит, в первую очередь надо получить такие сведения по каждому из этих регионов. В ряде случаев для решения указанной задачи придется создать запрос на выборку.

<p>Работа со средой Access 2002 без ее инсталляции</p>

Подобная постановка вопроса может показаться несколько странной, однако она имеет определенные основания. Предположим, разработчик сначала создал базу данных в программной среде 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

Рис. 11.75

В нем следует воспользоваться кнопкой

(Открыть запрос). Так вы начнете формировать запрос на выборку данных из БД в Access 2002, не инсталлируя саму систему Access. Чтобы убедиться в этом, проведите небольшой эксперимент. Перенесите в какую-нибудь другую папку программу, которая запускает Access 2002, – Msaccess.exe. Тем самым вы блокируете запуск СУБД.

Итак, щелкнув по кнопке Открыть запрос, вы откроете окно Выбор источника данных (см. рис. 11.76). Здесь можно выбрать опцию MS Access Database, а затем щелкнуть по клавише Использовать. Однако сначала откройте окно Источники данных ODBC, показанное на рис. 11.77.

Рис. 11.76

Рис. 11.77

Здесь приведен перечень тех СУБД и вообще файлов других форматов, к которым можно получить доступ с помощью ODBC. Система Access 2002 далеко не единственная в этом списке. Теперь щелкните по кнопке ОК. После обычной Windows-процедуры поиска нужного файла вы открываете базу данных db1.mdb и видите на экране знакомое окно Добавить таблицу (см. рис. 11.78).

Рис. 11.78

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже