При добавлении таблиц в запрос могут возникать некоторые проблемы. Например, все клиенты, проживающие в Москве, делали заказы. Но если хотя бы один клиент не сделал заказа, а в запросе использованы как таблица Клиенты, так и таблица Заказы, то выборка будет содержать записи только тех клиентов из Москвы, которые делали заказы, даже если в запросе это явно не указано. При наличии в окне построителя запросов нескольких связанных таблиц Access объединяет их, используя только связанные поля, в данном случае клиентов из Москвы, для которых значение поля Код Клиента в таблице Заказы и Клиенты совпадает.
Так как Access объединяет таблицы даже в том случае, если поля из подчиненных таблиц не используются, то чтобы воспользоваться полями из связанных таблиц, достаточно добавить их в запрос. Если поля из подчиненных таблиц не нужны, то эти таблицы не надо и добавлять.
Чтобы избежать некоторых проблем, возникающих при объединении таблиц, можно изменить тип их объединения. Дважды щелкните на линии связи, и на экране появится окно диалога, представленное на рис. 5.8. Первый параметр (он установлен по умолчанию) задает такое объединение, при котором выводятся записи только с совпадающими значениями связанных полей.
Рис. 5.8. Способ объединения таблиц
Выбор второго параметра в окне диалога приведет к отбору всех записей основной таблицы, удовлетворяющих всем условиям, даже если ключевые поля и не совпадают со значениями в подчиненной таблице. Например, если клиент не оставлял заказа, то поле Дата будет пустым. Выбрав этот параметр, вы увидите, что линия связи указывает на подчиненную таблицу. Если запустить запрос на выполнение, то в выборку попадут абсолютно все клиенты из Москвы, даже если они не оставляли заказа.
При выборе третьего значения Access выведет все записи из подчиненной таблицы, удовлетворяющие условиям, и только те записи из основной таблицы, значения в которых совпадают со значениями связанных полей. Но так как при задании отношений между таблицами была выбрана поддержка целостной целостности, то первое и третье значения параметра объединения дадут нам один и тот же результат.