Упражнение 13.4. Создание запросов «с параметром»


 

Выше мы рассмотрели, как действует условие отбора, но должны отметить его существенный недостаток. Пользователь базы данных работает с запросами, которые ему подготовил разработчик. Если, например, разработчик предусмотрел запрос, отбирающий изделия, имеющие цену менее 150 условных единиц, то пользователь базы уже не в состоянии отобрать изделия, цена которых менее 140 условных единиц, поскольку у него нет соответствующего запроса.

Специальный тип запросов, называемый запросами «с параметром», позволяет пользователю самому ввести критерий отбора данных на этапе запуска запроса. Этим приемом обеспечивается гибкость работы с базой.

Создадим простой запрос, позволяющий отбирать процессоры, предельную цену которых пользователь может задать сам при запуске запроса.

1.Запустите программу Microsoft Access 2000 (Пуск > Программы > Microsoft Access).

2. В окне Microsoft Access включите переключатель Открыть базу данных, выберите ранее созданную базу Комплектующие и щелкните на кнопке ОК.

3. В окне Комплектующие: база данных откройте панель Запросы. Дважды щелкните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу.

4. Согласно упражнению 13.3, создайте запрос на выборку, основанный на таблице Поставщики, в который войдут следующие поля:

• Компонент;

• Модель;

• Цена оптовая;

• Поставщик;

• Телефон;

5. В строке Условие отбора поля Компонент введите: Процессор.

6. Строку Условие отбора для поля Цена оптовая надо заполнить таким образом, чтобы при запуске запроса пользователь получал предложение ввести нужное значение.

Текст, обращенный к пользователю, должен быть заключен в квадратные скобки. Если бы мы хотели отобрать процессоры, цена которых больше 100 единиц, мы бы написали: >100. Если бы нам были нужны процессоры дешевле 80 единиц, мы бы написали <80. Но если мы хотим дать пользователю возможность выбора, мы должны написать: < [Введите максимальную цену].

7. Закройте запрос. При закрытии сохраните его под именем Выбор комплектующих.

8. В окне Комплектующие: база данных откройте панель Запросы и запустите запрос Выбор комплектующих — на экране появится диалоговое окно Введите значение параметра (рис. 13.19).

9. Введите какое-либо число и щелкните на кнопке ОК. В зависимости от того, что реально содержится в таблице Поставщики, по результатам запроса будет сформирована результирующая таблица.

10. Закройте все объекты базы данных. Закройте программу Microsoft Access.

Мы научились формировать запросы «с параметром» и узнали, что в основе этого вида запросов лежат запросы на выборку, у которых в поле Условие отбора записан заключенный в квадратные скобки текст, обращенный к пользователю.

 


 

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

Упражнение 13.5. Создание итогового запроса

 

Если полностью заполнить данными таблицу Комплектующие, введя параметры всех компонентов, входящих в сборочную спецификацию Персонального компьютера, то можно узнать, во что обходится себестоимость комплектующих узлов. Запросы, выполняющие вычисления по всем записям для какого-либо числового поля, называются итоговыми запросами. В итоговом запросе может рассчитываться сумма значений или величина среднего значения по всем ячейкам поля, может выбираться максимальное или минимальное значение данных в поле, может также исполняться иная итоговая функция. Итоговые запросы, как и запросы на выборку, готовятся с помощью бланка запроса по образцу.

Предположим, что малое предприятие собирает компьютеры трех классов: «Элитный», «Деловой» и «Экономичный». Несмотря на то что архитектура у всех компьютеров близка, их компоненты заметно отличаются по цене и техническим параметрам. Соответственно, имеются значительные отличия в цене этих трех моделей, что важно для захвата разных секторов рынка. Наша задача — подготовить итоговый отчет, с помощью которого можно определять цену каждой из модели компьютеров и динамично ее отслеживать при изменении входящих компонентов или их поставщиков.

1. Запустите программу Microsoft Access 2000 (Пуск > Программы > Microsoft Access).

2. В окне Microsoft Access включите переключатель Открыть базу данных, выберите ранее созданную базу Комплектующие и щелкните на кнопке ОК.

3. В окне Комплектующие: база данных откройте панель Таблицы. Выберите таблицу Комплектующие.

4. Щелчком на значке Конструктор откройте таблицу в режиме проектирования — нам это необходимо для создания дополнительного поля Класс, в котором будут храниться данные о том, для какого класса изделий предназначены компоненты.

5. В начало структуры таблицы вставьте новое поле. Для этого выделите первое поле (Компонент) и нажмите клавишу INSERT.

6. Введите имя нового поля — Класс и определите его тип — Текстовый.

7. Закройте окно Конструктора. При закрытии подтвердите необходимость изменить структуру таблицы.

8. Откройте таблицу Комплектующие и наполните ее содержанием, введя для каждого класса данные по следующим изделиям:

• Материнская плата;

• Процессор;

• Оперативная память;

• Жесткий диск;

• Корпус;

• Дисковод CD-ROM;

• Дисковод гибких дисков;

• Видеоадаптер;

• Звуковая карта;

• Клавиатура;

• Мышь.

Цены на эти изделия для каждого класса проставьте произвольно. Прочие поля таблицы можно не заполнять — в формировании итогового запроса они участвовать не будут.

9. Закройте таблицу Комплектующие.

10.Откройте панель Запросы щелчком на одноименной кнопке окна Комплектующие: база данных.

11.Выполните двойной щелчок на значке Создание запроса в режиме конструктора. В открывшемся диалоговом окне Добавление таблицы выберите таблицу Комплектующие, на основе которой будет разрабатываться итоговый запрос. Закройте окно Добавление таблицы.

12.В бланк запроса по образцу введите следующие поля таблицы Комплектующие: Класс, Компонент, Цена.

13.Для поля Класс включите сортировку по возрастанию. Включите также сортировку по полю Цена, но на этот раз — по убыванию.

14.На панели инструментов Microsoft Access щелкните на кнопке Групповые операции или воспользуйтесь строкой меню (Вид > Групповые операции).

Эта команда необходима для создания в нижней части бланка строки Групповые операции. Именно на ее базе и создаются итоговые вычисления. Все поля, отобранные для запроса, получают в этой строке значение Группировка.

15.Для поля, по которому производится группировка записей (в нашем случае — Класс), оставьте в строке Групповые операции значение Группировка. Для остальных полей щелкните в этой строке — появится кнопка раскрывающегося списка, из которого можно выбрать итоговую функцию для расчета значений в данном поле.

16.Для поля Цена выберите итоговую функцию Sum для определения стоимости изделия как суммы стоимостей комплектующих.

17.Для поля Компонент выберите итоговую функцию Count, определяющую общее количество записей, вошедших в группу. В нашем случае это количество узлов, из которых собран компьютер.

18.Закройте бланк запроса по образцу и дайте ему имя: Расчет стоимости изделия. Запустите запрос и убедитесь, что он правильно работает.

19.Закройте все объекты базы данных. Завершите работу с программой Microsoft Access.

 

Мы научились создавать так называемые итоговые запросы. Это запросы, производящие вычисления по всем значениям одного поля. Мы научились также выбирать используемую итоговую функцию.

 



Дата добавления: 2016-09-26; просмотров: 1627;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.011 сек.