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