Applies ToAccess для Microsoft 365 Access 2021 Access 2019 Access 2016
Браузер не поддерживает видео.

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

Что такое связь «один к одному»?

Связи «один к одному» часто используются для получения важных данных, необходимых для ведения бизнеса.

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

Связи "один-к-одному" можно использовать, если у вас есть таблица со списком элементов, но конкретные сведения о них зависят от типа. Например, у вас может быть таблица контактов, в которой некоторые сотрудники являются сотрудниками, а другие — субподрядчиками. Для сотрудников нужно знать их номера, расширения и другие ключевые сведения. Для субподрядчиков нужно знать, помимо прочего, название компании, номер телефона и тариф на выставление счета. В этом случае нужно создать три отдельные таблицы — "Контакты", "Сотрудники" и "Субподрядчики", а затем создать связь "один-к-одному" между таблицами "Контакты" и "Сотрудники" и связь "один-к-одному" между таблицами "Контакты" и "Субподрядчики".

Общие сведения о создании связи «один к одному»

Связи "один-к-одному" создаются путем связывания индекса первой таблицы, в качестве которого обычно выступает первичны ключ, с индексом второй таблицы, причем их значения совпадают. Пример:

Снимок экрана: две таблицы с полем "Код автомобиля"

Часто бывает, что лучший способ создать подобную связь — назначить вторичной таблице функцию поиска значений из первой таблицы. Например, вы можете сделать поле "Код автомобиля" в таблице "Сотрудники" полем подстановки, которое будет искать значение индекса "Код автомобиля" в таблице "Служебный транспорт". Таким образом исключается случайное добавление кода автомобиля, который на самом деле не существует.

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

Целостность данных помогает Access поддерживать порядок данных путем удаления связанных записей. Например, при удалении сотрудника из таблицы "Сотрудники" также удаляются записи о его льготах из таблицы "Льготы". Но в некоторых связях, таких как в этом примере, целостность данных не имеет смысла: если удалить сотрудника, мы не хотим, чтобы автомобиль удалялся из таблицы "Автомобиль компании", так как он по-прежнему будет принадлежать компании и будет назначен другому сотруднику.

Инструкции по созданию связи типа «один к одному»

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

  1. Откройте таблицу.

  2. В режиме конструктора добавьте новое поле, выберите значение Тип данных, а затем запустите мастер подстановок.

  3. В мастере по умолчанию выбран поиск значений в другой таблице, поэтому нажмите кнопку Далее.

  4. Выберите таблицу с ключом (обычно первичным), который вы хотите добавить в первую таблицу, и нажмите кнопку Далее. В рассмотренном примере следует выбрать таблицу "Служебный транспорт".

  5. Добавьте в список Выбранные поля поле с необходимым ключом. Нажмите кнопку Далее.

    Снимок экрана: мастер подстановок
  6. Задайте порядок сортировки и, при необходимости, измените ширину поля.

  7. В последнем окне установите флажок Включить проверку целостности данных и нажмите кнопку Готово.

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

Начало работы со связями между таблицами

Создание, изменение и удаление отношения

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

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

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

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