影片:建立多對多關聯性

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

試試看!

什麼是多對多關聯性?

多對多關係是最常用的表格關係。 他們提供關鍵資訊,例如你的業務人員已聯絡過哪些顧客,以及哪些產品在顧客訂單中。

如果某個資料表中的一或多個項目能夠和另一個資料表中的一或多個項目具有關聯性,就會形成多對多關聯性。 例如:

  • 您的訂單資料表包含多位列在客戶資料表中的客戶所建立的訂單,且一位客戶可能建立多份訂單。
  • 產品資料表包含您販售的個別產品,而這些產品也出現在訂單資料表的多份訂單中。
  • 一份訂單可能會包含特定產品的一或多個執行個體,和/或多個產品的一或多個執行個體。

例如,莊麗麗這位客戶的訂單號碼為 1012,可能包含識別碼為 12 與 15 的產品各一個,以及五個識別碼為 30 的產品。

建立多對多關聯性

多對多關聯性的建立方式,與一對一或一對多關聯性的建立方式並不相同。 建立後兩種關聯性時,您只需要用一條線連結適當的欄位。 但若要建立多對多關聯性,您必須建立一份新資料表以連結另外兩個資料表。 這份新資料表稱為中繼資料表 (有時又稱為連結或聯合資料表)。

在前述案例中,您建立了一份訂單詳細資料資料表,當中包含訂單資料表與產品資料表內每個訂單項目識別碼的記錄。 您結合兩個資料表的索引鍵建立了主索引鍵。

在我們的案例中,莊麗麗的訂單號碼為 1012,其包含了識別碼為 12、15 與 30 的產品。 也就是說,訂單詳細資料項目看起來像這樣︰

訂單識別碼 產品識別碼
1012 12
1012 15
1012 30

伊莉莎白訂購了12號和15號各一份,30號產品各訂購了5份。 我們無法新增一列 1012 和 30,因為訂單 ID 和產品 ID 合併成主鍵,而主鍵 必須 是唯一的。 相反地,我們在訂單細節表中新增一個數量欄位。

訂單識別碼 產品識別碼 數量
1012 12 1
1012 15 1
1012 30 5

建立中繼資料表

  1. 選擇 建立>表格
  2. 選擇儲存儲存 。
  3. 在 [資料表名稱] 中輸入具有描述性的標題。 為表明它的用途,建議您在資料表名稱當中加入「聯合」或「中繼」字詞。

在中繼資料表中建立欄位

Access 會自動新增識別碼欄位做為資料表的第一欄。 請進行相關變更,讓該欄位與您多對多關聯性中第一個資料表的識別碼相符。 舉例來說,如果第一個資料表是叫做「訂單識別碼」的訂單資料表,而且它的主索引鍵是一個數字,請將新資料表中的識別碼欄位名稱變更為「訂單識別碼」,並將資料類型設為 [數字]

  1. 在 [資料工作表檢視] 中,選取 [識別碼] 欄位標題,然後輸入新的欄位名稱。
  2. 選取您剛剛重新命名的欄位。
  3. 「表格欄位 」標籤中,於 資料型別中選擇與原始資料表相符的資料類型,例如 數字短文字
  4. 選取 [按一下以新增],然後選取與第二個資料表的主索引鍵相符的資料類型。 在已選取的欄位標題中,輸入第二個資料表的主索引鍵欄位名稱,例如 [產品識別碼]。
  5. 如果您需要追蹤有關這些記錄的任何其他資訊 (例如項目數量),請建立其他欄位。

合併主要識別碼欄位

您已為要連結的兩個資料表設定好包含資料表識別碼的欄位,接下來請根據這些識別碼,在中繼資料表中建立主索引鍵。

  1. 在 [設計檢視] 中開啟中繼資料表。
  2. 選擇包含 ID 的兩列。 (如果你按照之前的程序,這兩排是前兩排 )
  3. 選擇 表格設計>主鍵
    索引鍵圖示會顯示在兩個識別碼欄位旁邊。
    資料表中的主索引鍵螢幕擷取畫面

連結三個資料表以建立多對多關聯性

若要完成多對多關聯性,請在每個資料表的主索引鍵欄位以及中繼資料表的對應欄位之間,建立一對多關聯性。 如需相關操作步驟的詳細資訊,請參閱開始使用資料表關聯

完成後,關聯應會如下所示:

連結三個資料庫資料表的螢幕擷取畫面

想要更多資訊嗎?

開始使用資料表關聯

建立、編輯或刪除關聯