Знакомство с Access
Запросы
Запросы предназначены для поиска в базе данных информации, отвечающей определенным критериям. Найденные записи, называемые результатами запроса, можно просматривать, редактировать и анализировать различными способами. Кроме того, результаты запроса могут использоваться в качестве основы для создания других объектов Access.
В сущности, запрос представляет собой вопрос, сформулированный в терминах базы данных, например: Какие записи в таблице Клиенты содержат значение 98052 в поле ПочтовыйИндекс. При выполнении запроса Access находит в указанных таблицах данные, соответствующие заданному условию, и отображает их в табличном виде.
Существуют различные типы запросов. Наиболее распространенными являются запросы на выборку, параметрические и перекрестные запросы. Реже используются запросы на действие, Autolookup и запросы SQL (Structured Query Language). Для создания простых запросов используется мастер, в менее тривиальных случаях можно создать запрос вручную в режиме конструктора, как показано на следующем рисунке.
Вверху окна запроса располагаются четыре окошка, содержащие списки полей таблиц, включенных в запрос. Линии, соединяющие общие поля, обозначают связи между таблицами. Первая строка бланка запроса содержит имена полей, включенных в запрос, а во второй строке указана таблица, к которой принадлежит каждое поле. Третья строка Групповая операция (Total) позволяет выполнять вычисления над значениями полей, а четвертая указывает принцип сортировки записей. Флажок в пятой строке Вывод на экран (Show) определяет, будет ли поле отображаться в результатах запроса. Шестая строка с именем Условие отбора (Criteria) позволяет задать критерий отбора записей из таблицы, а седьмая строка задает альтернативный критерий.
На первый взгляд все это кажется довольно сложным. Однако когда вы приступите к построению собственного запроса, исходя из логических соображений, все вышесказанное начнет приобретать смысл. Тем более что от вас не потребуется особых усилий. Функция Мастер запросов (Query Wizard) проведет вас через все необходимые шаги по созданию запроса и сохранит его в качестве объекта базы данных для дальнейшего использования.
В этом упражнении вы воспользуетесь несколькими запросами, которые хранятся в базе данных GardenCo. В качестве рабочей будет использоваться папка Office XP SBS\Access\Chap09\Queries. Выполните следующие шаги.
- Откройте базу данных GardenCo, расположенную в рабочей папке.
- На панели объектов щелкните на пункте Запросы (Queries). В окне базы данных отобразятся все хранящиеся в ней запросы.
- Щелкните дважды в строке заголовка окна базы данных, чтобы оно заняло все окно
программы Access, как показано на следующем рисунке.
Два верхних элемента списка представляют собой команды, предназначенные для создания запросов. В столбце Описание (Description) указано назначение каждого запроса. Значок в столбце Имя (Name) идентифицирует тип запроса, как и столбец Тип (Type), расположенный в правой части окна базы данных.
- Восстановите исходный размер окна базы данных, щелкнув на кнопке Восстановить (Restore)в конце строки меню (а не строки заголовка).
- Откройте запрос Продажа по типам в режиме таблицы, выделив его и
щелкнув на кнопке Открыть (Open)вверху окна базы данных. Access выполнит запрос и отобразит результаты
в виде таблицы, как показано на следующем рисунке.
На панели перехода указано, что результаты запроса включают 171 запись, тогда как таблица Товары содержит 173 записей. Чтобы понять, почему отсутствуют 2 записи, нужно отобразить запрос в режиме конструктора.
- На панели инструментов щелкните на кнопке Вид (View), чтобы перейти в режим конструктора.
Верхняя часть окна запроса содержит схемы таблиц, из которых нужно извлечь данные, а нижняя часть представляет собой бланк, предназначенный для формирования условий отбора. Столбцы бланка соответствуют полям приведенных выше таблиц, а строки позволяют задать условия сортировки и отбора. Обратите внимание, что в строке Условие отбора (Criteria) для поля ПоставкиПрекращены указано " <> Да ". Это означает, что нужно отобрать товары, продажа которых не прекращена.
- В порядке эксперимента в строке Условие отбора (Criteria) выделите
значение "<> Да", введите = Да, а затем щелкните на кнопке Запуск (Run)на панели
инструментов.Совет. Запрос можно также выполнить, переключившись в режим таблицы.
Теперь запрос отберет только те товары, которые содержат значение Да в поле ПоставкиПрекращены (то есть, продажа этих товаров прекращена).
Это те самые 2 записи из таблицы Товары, которые не вошли в результаты исходного запроса. - Закройте окно запроса и щелкните на кнопке Нет (No), если будет предложено сохранить изменения.
- Закройте базу данных GardenCo.