Відео: створення зв’язків "багато-до-багатьох"
Applies To
Access для Microsoft 365 Access 2021 Access 2019 Access 2016Спробуйте!
Що таке зв'язок "багато-до-багатьох"?
Зв'язки "багато-до-багатьох" – це найпоширеніші зв'язки між таблицями. Вони надають важливу інформацію, наприклад, з якими клієнтами зв'язалися ваші продавці та які продукти знаходяться в замовленнях клієнтів.
Зв'язок "багато-до-багатьох" існує, коли один або кілька елементів в одній таблиці можуть мати зв'язок з одним або кількома елементами в іншій таблиці. Наприклад:
-
Таблиця "Замовлення" містить замовлення, зроблені кількома клієнтами (які перелічено в таблиці "Клієнти"), а клієнт може розмістити кілька замовлень.
-
Таблиця "Товари" містить окремі продукти, які ви продаєте, які входять до складу багатьох замовлень у таблиці "Замовлення".
-
Одне замовлення може включати один екземпляр (або кілька екземплярів) певного продукту та/або один екземпляр (або кілька екземплярів) кількох продуктів.
Наприклад, номер замовлення клієнта Елізабет Андерсен 1012 може містити по одному з товарів 12 і 15 і п'ять товарів 30.
Створення зв’язків "багато-до-багатьох"
Зв'язки "багато-до-багатьох" створюються не так, як "один-до-одного" або "один-до-багатьох". Для цих зв'язків потрібно просто з'єднати відповідні поля лінією. Щоб створити зв'язки "багато-до-багатьох", потрібно створити нову таблицю, щоб з'єднати два інших зв'язки. Ця нова таблиця називається проміжною таблицею (або іноді зв'язуванням або з'єднанням ).
У сценарії, описаному раніше, створюється таблиця "Відомості про замовлення" із записами, які містять для кожного елемента в будь-якому порядку, ідентифікатор із таблиці "Замовлення" та ідентифікатор із таблиці "Товари". Первинний ключ для цієї таблиці створюється за допомогою об'єднаних ключів із двох таблиць.
За нашим сценарієм замовлення Елізабет Андерсен 1012 складається з товарів 12, 15 і 30. Це означає, що відомості про замовлення виглядають так:
Order ID (Ідентифікатор замовлення) |
Ідентифікатор товару; |
---|---|
1012 |
12 |
1012 |
15 |
1012 |
30 |
Єлизавета замовила по одному з продуктів 12 і 15, а також п'ять товарів 30. Не вдалося додати ще один рядок із 1012 і 30, тому що ідентифікатор замовлення та ідентифікатор продукту разом складають наш первинний ключ, а первинні ключі мають бути унікальними. Натомість ми додаємо поле "Кількість" до таблиці "Відомості про замовлення".
Order ID (Ідентифікатор замовлення) |
Ідентифікатор товару; |
Quantity |
---|---|---|
1012 |
12 |
1 |
1012 |
15 |
1 |
1012 |
30 |
5 |
Створення проміжної таблиці
-
Натисніть кнопку Створити > таблицю.
-
Натисніть кнопку Зберегти .
-
У полі Ім'я таблиці введіть описову назву. Щоб указати призначення таблиці, можна додати до імені таблиці з'єднання або проміжнез'єднання.
Створення полів у проміжній таблиці
Як перший стовпець таблиці Access автоматично додає поле ідентифікатора. Змініть це поле відповідно до ідентифікатора першої таблиці у зв'язку "багато-до-багатьох". Наприклад, якщо перша таблиця – це таблиця "Замовлення" під назвою "Ідентифікатор замовлення", а первинний ключ – це число, змініть ім'я поля ідентифікатора в новій таблиці на "Ідентифікатор замовлення", а для типу даних – "Число".
-
У вікні табличного подання даних виберіть заголовок стовпця ідентифікатора та введіть нове ім'я поля.
-
Виберіть щойно перейменовано поле.
-
На вкладці Поля таблиці в розділі Тип даних виберіть тип даних, який відповідає полю вихідної таблиці, наприклад Числовий або Короткий текст.
-
Натисніть кнопку Клацніть, щоб додати, а потім виберіть тип даних, який відповідає первинному ключу в другій таблиці. У заголовку стовпця, який уже вибрано, введіть ім'я поля первинного ключа з другої таблиці, наприклад "Ідентифікатор товару".
-
Якщо потрібно відстежувати будь-які інші відомості про ці записи, наприклад кількість елементів, створіть додаткові поля.
Об'єднання основних полів ідентифікаторів
Тепер, коли поля містять ідентифікатори з двох таблиць, які потрібно з'єднати, створіть первинний ключ на основі цих ідентифікаторів у проміжній таблиці.
-
У режимі конструктора відкрийте проміжну таблицю.
-
Виділіть обидва рядки, які містять ідентифікатори. (Якщо ви виконали попередню процедуру, це перші два рядки.)
-
Виберіть Конструктор таблиць > первинний ключ.
Піктограми клавіш відображаються поруч з обома полями ідентифікаторів.
Підключення трьох таблиць для створення зв'язку "багато-до-багатьох"
Щоб завершити зв'язок "багато-до-багатьох", створіть зв'язок "один-до-багатьох" між полем первинного ключа в кожній таблиці та відповідним полем у проміжній таблиці. Докладні відомості про те, як це зробити, див. в статті Початок роботи зі зв'язками таблиць.
Після завершення зв'язки мають виглядати приблизно так: