Проверьте, как это работает!
Иногда требуется создать запрос, чтобы извлечь информацию из источников данных, не связанных напрямую (т. е. без связей типа "один-к-одному" или "один-ко-многим").
Использование промежуточных таблиц для связывания источников данных в запросах
При запуске запроса в Access используются созданные вами связи между таблицами, а также прослеживаются и создаются связи между другими источниками данных. Если связь, необходимая для запроса, не существует, вы можете соединить таблицы в рамках этого запроса.
Предположим, вам нужно узнать, сколько заказов вы получили на продукты разных поставщиков. Таблица "Поставщики" не связана с таблицей "Сведения о заказах", в которой указаны коды продуктов и количество проданных товаров. Однако с таблицей "Сведения о заказах" связана таблица "Накладные".
Совет: Если эта связь может вам потребоваться не только в создаваемом запросе, лучше всего создать промежуточную связь для дальнейшего использования. Инструкции см. в статье Создание связей типа "многие-ко-многим".
Если вы не хотите создавать в своей базе данных промежуточную таблицу, в запросе вы можете использовать в ее роли таблицу "Накладные". Расположите таблицу "Поставщики" слева от таблицы "Накладные" и создайте связь.
Таблица "Накладные" связывает две другие таблицы: "Поставщики" и "Сведения о заказах". При создании связей между полями таблиц (например, между полем "Код" из таблицы "Поставщики" и полем "Код поставщика" из таблицы "Накладные") необходимо учитывать следующие условия:
-
В соединяемых полях должны храниться данные одного типа или сопоставимые сведения. Например, нельзя соединить текстовое поле с числовым.
-
Соединяемые поля должны соответствовать уникальным записям в каждой таблице. Например, не следует соединять два поля "Фамилия", поскольку фамилии не всегда уникальны.
-
Поля обеспечивают правильную запись результата. Например, при подключении идентификатора поставщика к идентификатору покупки вы можете получить некоторые совпадения, если идентификаторы похожи. Но результаты не имеют смысла, так как идентификатор поставщика не имеет ничего общего с идентификатором покупки. Лучше всего подключить идентификатор из таблицы "Поставщик" к идентификатору поставщика в таблице "Заказы на покупку" — возвращаемые записи имеют смысл, так как оба поля идентифицируют поставщика.
Действия
Независимо от того, есть в вашей базе данных промежуточная таблица или вы планируете использовать ее только в запросе, выполните указанные ниже действия.
-
Добавьте в запрос промежуточную таблицу между двумя несвязанными таблицами.
-
Создайте необходимые связи с промежуточной таблицей.
Для связей можно использовать соединения любых типов, однако связываемые поля должны удовлетворять описанным выше условиям.
-
Выполните запрос.
Создайте запрос, как обычно: добавьте выходные поля и необходимые условия, а затем выполните или сохраните запрос. Инструкции см. в статье Создание простых запросов.
Примечание: Включать промежуточную таблицу в результаты не требуется. Она просто должна быть частью источников данных в запросе, чтобы Access мог связать данные.
Вам нужны дополнительные возможности?
Создание запросов путем объединения нескольких источников данных