2. Создание запросов с параметром
Запрос с параметром представляет собой запрос на выборку, который отображает диалоговое окно с предложением пользователю ввести параметры. Запросы с параметрами используются, когда пользователям необходим частый доступ к каким-то группам данных, содержащимся в таблице или в таблицах. Вместо того чтобы создавать, например, несколько разных запросов на поиск информации, относящейся к комплектующим разных классов, вы можете создать один запрос с параметром и разрешить пользователю самому ввести название класса.
Создадим простой запрос, позволяющий отбирать процессоры, предельную цену которых пользователь может задать сам при запуске запроса.
В окне базы данных Компания ВСК откройте панель Запросы. Дважды щелкните на значке Создание запроса в режиме Конструктора – откроется бланк запроса по образцу.
Создайте запрос на выборку, основанный на таблицах Классы, Комплектующие и Поставщики, в который войдут следующие поля:
Класс;
Компонент;
Цена;
Поставщик;
Телефон.
В строке Условие отбора поля Класс введите: Процессор.
Строку Условие отбора для поля Цена надо заполнить таким образом, чтобы при запуске запроса пользователь получал предложение ввести нужное значение. Текст, обращенный к пользователю, должен быть заключен в квадратные скобки. Если бы мы хотели отобрать процессоры, цена которых больше 100 единиц, мы бы написали: >100. Если бы нам были нужны процессоры дешевле 80 единиц, мы бы написали <80. Но если мы хотим дать пользователю возможность выбора, мы должны написать: <[Введите максимальную цену].
Закройте запрос. При закрытии сохраните его под именем Выбор комплектующих.
В окне Компания ВСК:база данных откройте панель Запросы и запустите запрос Выбор комплектующих – на экране появится диалоговое окно Введите значение параметра.
Введите какое-либо реальное число и щелкните на кнопке ОК. В зависимости от того, что реально содержится в базе данных, по результатам запроса будет сформирована результирующая таблица.
Закройте запрос Выбор комплектующих.
3. Создание итогового запроса
Если полностью заполнить данными все базовые таблицы, введя параметры всех компонентов, входящих в сборочную спецификацию персонального компьютера, то можно узнать, во что обходится себестоимость комплектующих узлов. Запросы, выполняющие вычисления по всем записям для какого-либо числового поля, называются итоговыми запросами. В итоговом запросе может рассчитываться сумма значений или величина среднего значения по всем ячейкам поля, может выбираться максимальное или минимальное значение данных в поле, может также исполняться иная итоговая функция. Итоговые запросы, как и запросы на выборку, готовятся с помощью бланка запроса по образцу (QBE - Query by Example).
Предположим, что малое предприятие собирает компьютеры трех классов: «Элитный», «Деловой» и «Экономичный». Несмотря на то что архитектура у всех компьютеров близка, их компоненты заметно отличаются по цене и техническим параметрам. Соответственно имеются значительные отличия в цене этих трех моделей, что важно для захвата разных секторов рынка. Наша задача – подготовить итоговый отчет, с помощью которого можно определить цену каждой из моделей компьютеров и динамично ее отслеживать при изменении входящих компонентов или их поставщиков.
Откройте панель Запросы щелчком на одноименной кнопке окна Компания ВСК:база данных.
Выполните двойной щелчок на значке Создание запроса в режиме конструктора. В открывшемся диалоговом окне Добавление таблицы выберите таблицы Классы и Комплектующие, на основе которых будет разрабатываться итоговый запрос. Закройте окно Добавление таблицы.
В бланк запроса по образцу введите следующие поля таблиц: Класс, Компонент, Цена.
Для поля Класс включите сортировку по возрастанию. Включите также сортировку по полю Цена, но на этот раз – по убыванию.
На панели инструментов Microsoft Access щелкните на кнопке Групповые операции или воспользуйтесь строкой меню (Вид – Групповые операции). Эта команда необходима для создания в нижней части бланка строки Групповые операции. Именно на ее базе и создаются итоговые значения. Все поля, отобранные для запроса, получают в этой строке значение Группировка.
Для поля, по которому производится группировка записей (в нашем случае – Класс), оставьте в строке Групповые операции значение Группировка. Для остальных полей щелкните в этой строке – появится кнопка раскрывающегося списка, из которого можно выбрать итоговую функцию для расчета значений в данном поле.
Для поля Цена выберите итоговую функцию Sum для определения стоимости изделия как суммы стоимостей комплектующих.
Для поля Компонент выберите итоговую функцию Count, определяющую общее количество записей, вошедших в группу. В нашем случае это количество узлов, из которых собран компьютер.
Закройте бланк запроса по образцу и дайте ему имя: Расчет стоимости изделия. Запустите запрос и убедитесь, что он работает правильно.
Закройте запрос.
