Поиск записей, не имеющих подчиненных

Задание 7. Сформируйте список товаров, которые не были заказаны. В терминах идеологии Access это означает, что требуется в таблице Товар на базе обнаружить записи, которые не имеют подчиненных по полю Код товара в таблице Заказ на товар.

Пояснения.

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

На первом шаге Мастера нужно выбрать главную таблицу, в которой содержатся данные для запроса, в нашем случае это таблица Товар на базе.

На следующем шаге выберите подчиненную таблицу Заказ на товар, в которой Ассеss должен искать связанные записи.

На третьем шаге нужно определить связующее поле для запроса. Если таблицы имеют поля с одинаковыми именами, Мастер автоматически распознает их и выделяет это общее поле в обеих таблицах; предлагая использовать его в качестве связующего (рис.6.9).

Поиск записей, не имеющих подчиненных - student2.ru

Рис 6.9. Третий шаг Мастера запросов

На четвертом шаге следует выбрать поля, которые будут отображаться в результате выполнения запроса (рис. 6.10).

Поиск записей, не имеющих подчиненных - student2.ru

Рис 6.10. Четвертый шаг Мастера запросов

Далее можно задать имя запроса и нажать кнопку Готово.

Задание 8. Поиск записей, не имеющих подчиненных.

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

В запрос включите поля: Наименование покупателя, Фамилию руководителя, Адрес, Телефон.

Пояснения.

В качестве главной таблицы выберите таблицу Покупатель, в качестве подчиненной таблицы – Сведения о заказе, связующее поле – Код покупателя.

Вопросы и упражнения

1. Что такое запрос в Access?

2. Какие типы запросов можно сформировать в Access 2007?

3. На основе каких объектов базы данных можно формировать запросы?

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

Тема 7. Формирование запросов с помощью Конструктора

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

Конструирование запроса

Для начала формирования запроса нужно на ленте Создание нажать кнопку Конструктор запросов. Создается пустой бланк запроса Запрос 1.

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

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

Добавить объекты-источники данных в бланк запроса с использованием окна Добавление таблицы можно при помощи кнопки Отобразить таблицу.

Если в запросе будет использоваться несколько таблиц, то между ними должны быть заранее установлены связи, которые будут отображаться на экране.

Задание 1.Получите информацию о покупателях, заказавших гарнитуры.

Технологию создания запросов в режиме Конструктора рассмотрим на примере выполнения данного задания.

1. На ленте Создание нажать кнопку Конструктор запросов.

2. В окне Добавление таблицы выбрать таблицы Покупатель, Сведения о заказе, Заказ на товар, Товар на базе, нажимая кнопку Добавить.

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

Это можно сделать тремя способами:

• перетащить мышью поля из таблицы;

• выделить поле двойным щелчком в списке полей соответствующей таблицы;

• выбрать его из раскрывающегося списка строки Поле.

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

В нашем случае на бланк запроса необходимо поместить поля Дата заказа, Наименование покупателя, Наименование товара, Количество.

Поиск записей, не имеющих подчиненных - student2.ru

Рис.7.1. Вид окна конструирования запроса

4. По заданию требуется выбрать только покупателей гарнитуров, поэтому в строке Условие отбора поля Наименование товара введем текст: Гарнитур*. После этого автоматически условие отбора будет задано выражением Like "Гарнитур*".

Выполнение запроса

После того как запрос сформирован, его можно выполнить, щелкнув по кнопке Выполнить с изображением восклицательного знака на ленте Конструктор или выбрать режим Таблица.

Запустим запрос щелчком по кнопке Выполнить на вкладке Конструктор.

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

Ввод условий отбора

В строке Условие отбора сделать щелчок для поля, по которому вы хотите определить условия отбора, ввести это условие и нажать клавишу <Еnter>. Access проанализирует это выражение и, если условие задано неверно, выведет сообщение об ошибке.

Можно задать несколько условий отбора как для разных полей, так и для одного поля, связывая их операторомAND(И) или ОR(ИЛИ).

Если вы запишите несколько выражений отбора в различные поля и расположите их в одной строке Условие отбора, то Access свяжет их оператором AND. Условия, расположенные в разных строках, связываются оператором OR.

Примеры выражений для условий отбора

Поля Выражения Результаты выборки
Город «Новосибирск» Покупатели из Новосибирска
Город «Омск» OR «Новосибирск» Покупатели из Омска или из Новосибирска
Город Not «Новосибирск» Города, кроме Новосибирска
Наименование покупателя «Магазин*»   Записи начинаются со слова: Магазин
Дата заказа = # 12.09.2011 # Заказы на 12.09.11
Дата заказа < # 12.09.2011 # Заказы, оформленные до 12.09.11
Цена BETWEEN 500 AND 1200 Цены в диапазоне от 500 до 1200
Фамилия руководителя «Л*» Фамилии руководителей, которые начинаются на Л
Фамилия руководителя >= «М» Фамилии, которые начинаются от М до Я

Формировать условия отбора можно самостоятельно, а можно с помощью Построителя выражений.

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

Добавим в наш запрос условие отбора для поля Дата заказа при помощи Построителя. Необходимо отобрать заказы с 19 Января по 10 Марта 2011г.

В Построителе выберем среди элементов выражений Операторы. Тогда требуемую конструкцию Between #19.01.2011# And #10.03.2011# можем построить путем выбора операторов двойным щелчком мыши из списка значений выражений (рис. 7.2).

Примечание.

Формат дат в выражениях условий отбора должно совпадать с форматом дат в таблицах базы данных.

Поиск записей, не имеющих подчиненных - student2.ru

Рис.7.2.Вид окна Построителя выражений

Наши рекомендации