В Access есть возможность с помощью Мастеров формировать специфические запросы: записи без подчиненных, дублирование значений полей, а также рассмотренные выше перекрестные запросы. Использование этих Мастеров позволяет достаточно просто формулировать сложные запросы.
Поиск записей, не имеющих подчиненных. Необходимость поиска записей, не имеющих подчиненных, возникает довольно часто, и не только для проверки целостности базы данных. В нашем примере воспользуемся такой возможностью для определения списка сотрудников, не имеющих детей.
Для того чтобы воспользоваться возможностью поиска записей, не имеющих подчиненных, можно выбрать Мастер «Записи без подчиненных» в окне Новый запрос (см. рис. 6.5).
Затем следует выбрать основную таблицу (рис. 6.45) в паре «основная - подчиненная». В нашем случае это таблица «Сотрудник». Основная и подчиненная таблицы должны быть предварительно связаны в схеме данных.
Далее выбирается подчиненная таблица. В нашем случае это таблица «Дети» (рис. 6.46).
На следующем шаге определяются поля, по которым связаны выбранные таблицы (рис. 6.47).
Затем выбираются поля, которые должны войти в ответ (рис. 6.48). Поскольку необходим просто список сотрудников, в ответ выводится только поле «ФИО».
В завершение следует задать имя созданного запроса (рис. 6.49).
Рассматриваемый запрос можно было задать и не пользуясь Мастером. Посмотрим, как выглядит созданный нами запрос в режиме Конструктор (рис. 6.50). Создание подобных запросов и в этом режиме не представляет особых трудностей. Но следует обратить внимание, что при связи основной и зависимой таблиц обязательно должно быть определено так называемое «левое соединение» (т.е. для связи в «параметрах объединения» необходимо выбрать вторую возможность - «объединение всех записей из первой таблицы и только тех записей из второй таблицы, в которых связанные поля совпадают). В противном случае список окажется пустым.
предыдущаяследующая