![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Упражнение 13.3. Создание запроса на выборку
В этом упражнении мы создадим запрос на выборку жестких дисков, имеющих емкость не менее 8 Гбайт при цене менее 150 условных единиц. Результирующая таблица должна содержать также адрес поставщика и номер его телефона. 1.Запустите программу Microsoft Access 2000 (Пуск > Программы > Microsoft Access). 2.В окне Microsoft Access включите переключатель Открыть базу данных, выберите 3.В окне Комплектующие: база данных откройте панель Запросы. Дважды щелкните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу. Одновременно с ним откроется диалоговое окно Добавление таблицы. 4.В окне Добавление таблицы выберите таблицу Поставщики и щелкните на кнопке Добавить. Закройте окно Добавление таблицы. 5.В списке полей таблицы Поставщики выберите поля, включаемые в результирующую таблицу: Компонент, Модель, Цена оптовая, Поставщик, Телефон. Выбор производите двойными щелчками на именах полей. 6.Задайте условие отбора для поля Компонент. В соответствующую строку введите: Жесткий диск. Из таблицы будут выбираться не все изделия, а только жесткие диски. 7.Задайте условие отбора для поля Цена оптовая. В соответствующую строку введите: < 150. Из таблицы будут выбираться только изделия, имеющие цену менее 150 условных единиц. 8.Нам еще надо задать условие отбора по основному потребительскому параметру — емкости жесткого диска. Однако в таблице Поставщики такого поля нет. С другой стороны, в ней есть поле Модель, которое однозначно определяет параметры изделия. Благодаря тому, что по полю Модель у нас установлена связь с таблицей Комплектующие, мы получаем возможность ввести в запрос поле Основной параметр, взяв его из другой таблицы. Добавьте список полей таблицы Комплектующие в верхнюю часть бланка запроса по образцу. Для этого щелкните правой кнопкой мыши в верхней области бланка и в открывшемся контекстном меню выберите пункт Добавить таблицу — откроется уже знакомое нам окно Добавление таблицы. Выберите в нем таблицу Комплектующие. 9. Двойным щелчком на поле Основной параметр в списке полей таблицы Комплектующие введите это поле в бланк запроса по образцу. 10. В строке Условие отбора столбца Основной параметр введите условие >8 (емкость диска более восьми гигабайт). , Рис. 13.18. Пример создания бланка запроса по образцу
11.Закройте бланк запроса по образцу. При закрытии запроса введите его имя —Выбор комплектующих. 12.В окне Комплектующие: база данных откройте только что созданный запрос и рассмотрите результирующую таблицу. Ее содержательность зависит от того, что было введено в таблицы Комплектующие и Поставщики при их наполнении в упражнении 13.1. Если ни одно изделие не соответствует условию отбора и получившаяся результирующая таблица не имеет данных, откройте базовые таблицы и наполните их модельными данными, позволяющими проверить работу запроса. 13.По окончании исследований закройте все открытые объекты и завершите работу с программой Microsoft Access.
Упражнение 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. Пользователь вводит значение параметра для условия отбора
Если полностью заполнить данными таблицу Комплектующие, введя параметры всех компонентов, входящих в сборочную спецификацию Персонального компьютера, то можно узнать, во что обходится себестоимость комплектующих узлов. Запросы, выполняющие вычисления по всем записям для какого-либо числового поля, называются итоговыми запросами. В итоговом запросе может рассчитываться сумма значений или величина среднего значения по всем ячейкам поля, может выбираться максимальное или минимальное значение данных в поле, может также исполняться иная итоговая функция. Итоговые запросы, как и запросы на выборку, готовятся с помощью бланка запроса по образцу. Предположим, что малое предприятие собирает компьютеры трех классов: «Элитный», «Деловой» и «Экономичный». Несмотря на то что архитектура у всех компьютеров близка, их компоненты заметно отличаются по цене и техническим параметрам. Соответственно, имеются значительные отличия в цене этих трех моделей, что важно для захвата разных секторов рынка. Наша задача — подготовить итоговый отчет, с помощью которого можно определять цену каждой из модели компьютеров и динамично ее отслеживать при изменении входящих компонентов или их поставщиков. 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.
|