Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ITU.doc
Скачиваний:
104
Добавлен:
09.02.2015
Размер:
3.52 Mб
Скачать

4.3. Пример выполнения задания

4.3.1. Создание запроса

Отберем всех клиентов фирмы, у которых установлены факсы.

Выберите значок Создание запроса в режиме конструктора в списке запросов окна базы данных. Появится пустое окно конструктора таблиц и поверх него диалоговое окно Добавление таблицы (рис. 4.1).

В окне Добавление таблицы есть три вкладки. Выберите вкладку Таблицы и укажите таблицу, которая должна присутствовать в запросе. Для этого выделите в списке на вкладке Таблицы элемент Клиенты, как показано на рисунке 4.1, и нажмите кнопку , а затем.

Рис. 4.1. Добавление таблицы в запрос

Вы попадаете в окно Конструктора запросов, показанное на рисунке 4.2.

Рис. 4.2. Окно Конструктора запросов

В верхней части окна Конструктора отобразится образ таблицы-источника (Клиенты). Для того чтобы заполнить Бланк запроса, необходимо в таблице-источнике в верхней части окна Конструктора найти нужное поле и дважды щелкнуть на нем. При этом в бланке запроса появится столбец, соответствующий выбранному полю. Добавьте в запрос поля Название и Факс, для чего дважды щелкните на них (рис. 4.3).

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

Рис. 4.3. Определение полей запроса

В строке условия отбора определим критерии, по которым будут отбираться записи в запросе. В нашем случае нам необходимо, чтобы отобрались все записи с непустыми значениями в поле Факс. Для этого нужно ввести в строку Условия отбора столбца Факс оператор Not Is Null (рис. 4.4).

Рис. 4.4. Установка порядка сортировки и критериев выборки

Чтобы выполнить запрос и увидеть его результаты, можно воспользоваться одной из двух кнопок панели инструментов: Вид илиЗапуск .

Нажмите кнопку Вид . Результат выполнения запроса представлен на рисунке 4.5. В базе данных из 91 записи отобраны 69.

Рис. 4.5. Результат выполнения запроса

Убедившись в том, что запрос создан правильно, его можно сохранить. Закройте окно запроса, ответив на вопрос о сохранении макета запроса Да. После этого будет выведено стандартное диалоговое окно, в которое нужно ввести имя запроса Факсы клиентов и нажать кнопку . В списке запросов появился еще один запрос. Обратите внимание на значок справа от имени запроса: этот значок обозначает запрос на выборку.

Чтобы повторно выполнить запрос, достаточно дважды щелкнуть на его имени или выделить имя запроса и нажать кнопку на панели инструментов окна базы данных.

4.3.2. Редактирование запроса

Режим конструктора предназначен также и для изменения запроса. Выделите запрос Факсы клиентов и нажмите кнопку на панели инструментов окна базы данных. Вы снова увидите бланк запроса, который был создан ранее.

Рассмотрим пример создания нового запроса на основе существующего. Пусть нам необходимо узнать список клиентов, которые не обращались в фирму Борей (не делали заказов). Для этого нам необходимы две таблицы: Клиенты и Заказы. Таблица Клиенты у нас уже есть. Добавим в бланк запроса таблицу Заказы.

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

Теперь необходимо изменить параметры объединения таблиц [10, с. 165–168]. По умолчанию в Access для связывания таблиц применяется внутреннее объединение. При этом в результирующий набор попадают те записи из двух связанных таблиц (Клиенты и Заказы), у которых связанные поля совпадают. Если запись в главной таблице (Клиенты) не имеет соответствующие записи в подчиненной таблице (Заказы), эта запись в результирующее множество не включается. Таким образом, мы не увидим клиентов, которые не делали заказы в фирме Борей.

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

Внешние объединения бывают левыми и правыми. Если таблицы в запросе объединяются левым внешним объединением, то выводятся все записи главной таблицы Клиенты («один») с уникальным значением первичного ключа вне зависимости от того, имеются ли соответствующие записи в подчиненной таблице Заказы («многие»). Установите левое внешнее объединение между таблицами Клиенты и Заказы. Щелкните дважды на линии связи двух таблиц в верхней части окна конструктора и в появившемся диалоговом окне установите флажок на пункте 2, как показано на рисунке 4.6.

Рис. 4.6. Изменение параметров соединения

Нажмите кнопку ОК и обратите внимание, что на линии, соединяющей таблицы в верхней части окна Конструктора, добавилась стрелочка (рис. 4.7). Удалите поле Факс из бланка запроса, для этого установите курсор на столбец Факс и выполните команду ПравкаУдалить столбец или нажмите клавишу Delete. Выделите поле КодКлиента в таблице Заказы и дважды щелкните на нем. Введите в строку Условия отбора столбца КодКлиента оператор Is Null. Так как содержимое этого столбца отсутствует (в таблице Заказы отсутствуют подчиненные записи), то следует исключить его из результата запроса. Для этого снимите флажок в строке Вывод на экран этого столбца.

Рис. 4.7. Окно конструктора с измененными параметрами соединения

Нажмите кнопку Вид. Результат выполнения запроса представлен на рисунке 4.8. В базе данных отобраны две записи.

Рис. 4.8. Результат выполнения запроса

Закройте окно запроса. Ответив на вопрос о сохранении макета запроса , запрос сохранится под прежним именем. Для того чтобы переименовать его, необходимо в окне базы данных в списке запросов выделить его имя и нажатьF2.

Отчет должен содержать: тему и цель работы, задание к работе, распечатку по каждому запросу, бланк Конструктора запроса, результат его работы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]