Упражнение 4.
Создание запроса на выборку
В этом упражнении мы создадим запрос на выборку жестких дисков, имеющих емкость более 10 Гбайт при цене менее 150 условных единиц. Результирующая таблица должна содержать также адрес поставщика и номер его телефона.
-
Запустите программу MicrosoftAccess2000 (Пуск à Программы à Microsoft Access).
- В окне MicrosoftAccessвключите переключатель Открыть базу данных, выберите ранее созданную базу Комплектующие и щелкните на кнопке ОК.
- В окне Комплектующие: база данных откройте панель Запросы. Дважды щелкните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу. Одновременно с ним откроется диалоговое окно Добавление таблицы.
- В окне Добавление таблицы выберите таблицу Поставщики и щелкните на кнопке Добавить. Закройте окно Добавление таблицы.
- В списке полей таблицы Поставщики выберите поля, включаемые в результирующую таблицу: Компонент, Модель, Цена оптовая, Поставщик, Телефон. Выбор производите двойными щелчками на именах полей.
- Задайте условие отбора для поля Компонент. В соответствующую строку введите: Винчестер. Из таблицы будут выбираться не все изделия, а только винчестеры (жесткие диски).
- Задайте условие отбора для поля Цена оптовая. В соответствующую строку введите: <150. Из таблицы будут выбираться только изделия, имеющие цену менее 150 условных единиц.
- Нам еще надо задать условие отбора по основному потребительскому параметру — емкости жесткого диска. Однако в таблице Поставщики такого поля нет. С другой стороны, в ней есть поле Модель, которое однозначно определяет параметры изделия. Благодаря тому, что по полю Модель у нас установлена связь с таблицей Комплектующие, мы получаем возможность ввести в запрос поле Основной параметр, взяв его из другой таблицы,
Добавьте список полей таблицы Комплектующие в верхнюю часть бланка запроса по образцу. Для этого щелкните правой кнопкой мыши в верхней области бланка и в открывшемся контекстном меню выберите пункт Добавить таблицу — откроется уже знакомое нам окно Добавление таблицы. Выберите в нем таблицу Комплектующие.
- Двойным щелчком на поле Основной параметр в списке полей таблицы Комплектующие введите это поле в бланк запроса по образцу.
- В строке Условие отбора столбца Основной параметр введите условие >10 (емкость диска более 10 гигабайт).

Рис. 3. Пример создания бланка запроса по образцу
- Закройте бланк запроса по образцу. При закрытии запроса введите его имя — Выбор комплектующих.
- В окне Комплектующие: база данных откройте только что созданный запрос и рассмотрите результирующую таблицу. Ее содержательность зависит от того, что было введено в таблицы Комплектующие и Поставщики при их наполнении в упражнении: 1. Если ни одно изделие не соответствует условию отбора и получившаяся результирующая таблица не имеет данных, откройте базовые таблицы и наполните их модельными данными, позволяющими проверить работу запроса.
- По окончании исследований закройте все открытые объекты и завершите работу с программой MicrosoftAccess.
Упражнение 4.
Создание запросов «с параметром»
Мы рассмотрели, как действует условие отбора, но необходимо отметить его существенный недостаток. Пользователь базы данных работает с запросами, которые ему подготовил разработчик. Если, например, разработчик предусмотрел запрос, отбирающий изделия, имеющие цену менее 150 условных единиц, то пользователь базы уже не в состоянии отобрать изделия, цена которых менее 140 условных единиц, поскольку у него нет соответствующего запроса.
Специальный тип запросов, называемый запросами «с параметром», позволяет пользователю самому ввести критерий отбора данных на этапе запуска запроса. Этим приемом обеспечивается гибкость работы с базой.
Создадим простой запрос, позволяющий отбирать мониторы, предельную цену которых пользователь может задать сам при запуске запроса.
-
Запустите программу MicrosoftAccess2000 (Пуск à Программы à Microsoft Access).
- В окне MicrosoftAccessвключите переключатель Открыть базу данных, выберите ранее созданную базу Комплектующие и щелкните на кнопке ОК.
- В окне Комплектующие: база данных откройте панель Запросы. Дважды щелкните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу.
- Согласно упражнению 3, создайте запрос на выборку, основанный на таблице Поставщики, в который войдут следующие поля:
- Компонент;
- Модель;
- Цена оптовая;
- Поставщик;
- Телефон;
- В строке Условие отбора поля Компонент введите: Монитор.
- Строку Условие отбора для поля Цена оптовая надо заполнить таким образом, чтобы при запуске запроса пользователь получал предложение ввести нужное значение.
Текст, обращенный к пользователю, должен быть заключен в квадратные скобки. Если бы мы хотели отобрать мониторы, цена которых больше 4500 единиц, мы бы написали: >4500. Если бы нам были нужны процессоры дешевле 4800 единиц, мы бы написали <4800. Но если мы хотим дать пользователю возможность выбора, мы должны написать: < [Введите максимальную цену].
Рис. 4. Пример создания запроса "с параметром"
- Закройте запрос. При закрытии сохраните его под именем Отбор комплектующих.
- В окне Комплектующие: база данных откройте панель Запросы и запустите запрос Отбор комплектующих — на экране появится диалоговое окно Введите значение параметра (рис.5).
- Введите какое-либо число и щелкните на кнопке ОК. В зависимости от того, что реально содержится в таблице Поставщики, по результатам запроса будет сформирована результирующая таблица.
- Закройте все объекты базы данных. Закройте программу MicrosoftAccess.

Рис. 5. Пользователь вводит значение параметра для условия отбора
|