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