Управление данными с помощью запросов

Запросы к несвязанным источникам данных

Браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

Проверьте, как это работает!

Иногда требуется создать запрос, чтобы извлечь информацию из источников данных, не связанных напрямую (т. е. без связей типа "один-к-одному" или "один-ко-многим").

Использование промежуточных таблиц для связывания источников данных в запросах

При запуске запроса в Access используются созданные вами связи между таблицами, а также прослеживаются и создаются связи между другими источниками данных. Если связь, необходимая для запроса, не существует, вы можете соединить таблицы в рамках этого запроса.

Предположим, вам нужно узнать, сколько заказов вы получили на продукты разных поставщиков. Таблица "Поставщики" не связана с таблицей "Сведения о заказах", в которой указаны коды продуктов и количество проданных товаров. Однако с таблицей "Сведения о заказах" связана таблица "Накладные".

Несколько источников данных, как с предопределенными связями, так и без них.

Совет: Если эта связь может вам потребоваться не только в создаваемом запросе, лучше всего создать промежуточную связь для дальнейшего использования. Инструкции см. в статье Создание связей типа "многие-ко-многим".

Если вы не хотите создавать в своей базе данных промежуточную таблицу, в запросе вы можете использовать в ее роли таблицу "Накладные". Расположите таблицу "Поставщики" слева от таблицы "Накладные" и создайте связь.

Использование одной таблицы для создания непрямой связи между двумя другими

Таблица "Накладные" связывает две другие таблицы: "Поставщики" и "Сведения о заказах". При создании связей между полями таблиц (например, между полем "Код" из таблицы "Поставщики" и полем "Код поставщика" из таблицы "Накладные") необходимо учитывать следующие условия:

  • В соединяемых полях должны храниться данные одного типа или сопоставимые сведения. Например, нельзя соединить текстовое поле с числовым.

  • Соединяемые поля должны соответствовать уникальным записям в каждой таблице. Например, не следует соединять два поля "Фамилия", поскольку фамилии не всегда уникальны.

  • Поля обеспечивают правильную запись результата. Например, при подключении идентификатора поставщика к идентификатору покупки вы можете получить некоторые совпадения, если идентификаторы похожи. Но результаты не имеют смысла, так как идентификатор поставщика не имеет ничего общего с идентификатором покупки. Лучше всего подключить идентификатор из таблицы "Поставщик" к идентификатору поставщика в таблице "Заказы на покупку" — возвращаемые записи имеют смысл, так как оба поля идентифицируют поставщика.

Действия

Независимо от того, есть в вашей базе данных промежуточная таблица или вы планируете использовать ее только в запросе, выполните указанные ниже действия.

  1. Добавьте в запрос промежуточную таблицу между двумя несвязанными таблицами.

  2. Создайте необходимые связи с промежуточной таблицей.

    Для связей можно использовать соединения любых типов, однако связываемые поля должны удовлетворять описанным выше условиям.

    Создание необходимых связей с использованием промежуточной таблицы
  3. Выполните запрос.

    Создайте запрос, как обычно: добавьте выходные поля и необходимые условия, а затем выполните или сохраните запрос. Инструкции см. в статье Создание простых запросов.

    Примечание: Включать промежуточную таблицу в результаты не требуется. Она просто должна быть частью источников данных в запросе, чтобы Access мог связать данные.

Вам нужны дополнительные возможности?

Создание простых запросов

Создание запросов путем объединения нескольких источников данных

Создание запросов с внешними соединениями

Обучение работе с Excel

Обучение работе с Outlook

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.