Запросы
157
Последовательное выполнение ряда запросов
позволяет решать достаточно слож-
ные задачи, не прибегая к программированию.
Запросы служат источниками записей для других запросов, форм, отчетов. С по-
мощью запроса можно собрать полные сведения для формирования некоторого до-
кумента предметной области из нескольких таблиц, далее использовать его для
создания формы — электронного представления этого документа. Если форма или
отчет создается мастером на основе нескольких взаимосвязанных таблиц, для кото-
рых определены связи в схеме данных, то для них в качестве источника записей
автоматически формируется запрос. Ненормализованная с повторяющимися дан-
ными таблица запроса не хранится в базе данных —
хранится запрос, который мо-
жет быть использован различными пользователями для выполнения своих задач.
Однотабличные запросы на выборку
В простейшем случае запрос реализует выбор из одной таблицы нужных полей,
записей, соответствующих заданным условиям отбора, и просмотр результатов вы-
полнения запроса.
Конструирование запросов
на выборку с условиями отбора
Рассмотрим процесс конструирования однотабличного запроса на выборку на при-
мере получения информации из таблицы ТОВАР базы данных "Поставка товаров".
Задача 1
Пусть необходимо выбрать ряд характеристик товара по его наименованию.
1.
Для создания запроса в окне базы данных выберите вкладку ленты —
Создание
(Create) и в группе
Запросы
нажмите кнопку
Конструктор запросов
(Design
View).
Откроется пустое окно запроса на выборку в режиме конструктора —
ЗапросN
(QueryN) и диалоговое окно
Добавление таблицы
(Show Table) (рис. 4.2).
2.
В окне
Добавление таблицы
(Show Table) выберите таблицу ТОВАР и нажмите
кнопку
Добавить
(Add). Выбранная таблица будет отображена в области схемы
данных запроса. Закройте окно
Добавление таблицы
(Show Table), нажав кноп-
ку
Закрыть
(Close).
В результате выполненных действий в верхней панели окна конструктора запро-
сов
(см. рис. 4.1) появится
схема данных запроса
, которая включает выбранные
для данного запроса таблицы. В данном случае — одну таблицу ТОВАР. Табли-
ца представлена списком полей. Первая строка в списке полей таблицы, отме-
ченная звездочкой (
*
), обозначает все множество полей таблицы. Нижняя панель
представляет
собой
бланк запроса
, который нужно заполнить.
Кроме того, на ленте появляется и автоматически активизируется новая вкладка
Работа с запросами | Конструктор
(Query Tools | Design) (на рис. 4.3 представ-
158
Глава 4
лена часть этой вкладки), на которой цветом выделен тип создаваемого запро-
са —
Выборка
(Select). Таким образом по умолчанию всегда создается запрос
на выборку. Команды этой вкладки представляют инструментарий для выполне-
ния необходимых действий при создании запроса. Эта вкладка открывается, ко-
гда в режиме конструктора создается новый запрос или редактируется сущест-
вующий.
Рис. 4.2.
Окно выбора таблиц
и запросов
для схемы данных запроса
Рис. 4.3.
Лента инструментов конструктора запросов
3.
Для удаления любой таблицы из схемы данных запроса установите на нее кур-
сор
мыши и нажмите клавишу . Для добавления — нажмите кнопку
Отобразить таблицу
в группе
Настройка
запроса
(Query Setup) на вклад-
ке
Работа с запросами | Конструктор
(Query Tools | Design) или выполните
команду
Добавить таблицу
(Show Table) в контекстном меню, вызываемом на
схеме данных запроса.
4.
В окне конструктора (рис. 4.4) последовательно перетащите из списка полей
таблицы ТОВАР поля
НАИМ_ТОВ
,
ЦЕНА
,
НАЛИЧИЕ_ТОВ
в столбцы бланка запроса
в строку
Поле
(Field).
Запросы
159
5.
Для включения нужных полей из таблицы в соответствующие столбцы запроса
можно воспользоваться следующими приемами:
•
в первой
строке бланка запроса
Поле
(Field)
щелчком мыши вызвать появле-
ние кнопки списка и выбрать из списка нужное поле. Список содержит поля
таблиц, представленных в схеме данных запроса;
•
щелкнуть двойным щелчком на имени поля таблицы в схеме данных запроса;
•
для включения всех полей таблицы можно перетащить или щелкнуть двой-
ным щелчком на символе
*
(звездочка) в списке полей таблицы в схеме дан-
ных запроса.
6.
Если вы по ошибке перетащили
в бланке запроса ненужное поле, удалите его.
Для этого переместите курсор в область маркировки столбца сверху, где он
примет вид черной стрелки,
направленной вниз, и щелкните кнопкой мыши.
Столбец выделится. Нажмите клавишу
или выполните коман-
ду
Удалить столбцы
(Delete Columns) в группе
Настройка
запроса
(Query
Setup).
7.
В строке
Вывод на экран
(Show) отметьте требуемые поля, иначе они не будут
включены в таблицу запроса.
8.
Запишите в строке
Условия отбора
(Criteria) наименование товара, как показано
в бланке запроса на рис. 4.4. Так как выражение в условии отбора не содержит
оператора, то по умолчанию используется оператор
=
. Используемое в выраже-
нии текстовое значение вводится в двойных кавычках, которые добавляются ав-
томатически.
Рис. 4.4.
Окно конструктора запроса на выборку