影片:建立有多個資料來源的查詢
Applies To
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016試試看!
通常,為了取得所需的答案,您需建立從多個資料表或從資料表與查詢的組合收集資訊的查詢。
開始使用聯結
有時,您必須使用來自多個來源 (資料表或查詢) 的資料,才能回答問題。 例如,您可能會查看某個區域中有多少客戶訂購了特定的產品。
當您新增多個資料來源時,Access 會使用這些資料來源之間現有、已定義的關聯,或是在它們之間建立聯結以供查詢使用。 「聯結」只是查詢中資料來源之間的一種關聯類型。
附註: 聯結是暫時性的,並且只與查詢關聯。 如果您經常在資料表之間建立相同的聯結,您可以在它們之間建立永久關聯。
內部聯結
大多數聯結都是「內部聯結」。 這是相對於「外部聯結」,在使用外部聯結建立查詢中有相關討論。
內部聯結只有在一種情況下會傳回一個來源中的資料,就是在另一個來源中找到相符的資料時。 例如,如果您查詢產品與訂單的相關資訊,您就只會看到有相符訂單的產品資料。
自我聯結
「自我聯結」會聯結兩份相同的資料表或查詢。 當聯結的欄位中有相符的值時,您可以使用它來結合來自相同資料表的記錄。
例如,假設您有一個列出貴組織中所有員工 (包括主管) 的 [員工] 資料表。 此資料表包含一個 [上司] 欄位,當中包含員工主管的識別碼。
識別碼 |
姓氏 |
名字 |
上司 |
---|---|---|---|
1 |
黃 |
雅婷 |
5 |
2 |
季 |
正霖 |
|
3 |
郭 |
克儀 |
10 |
4 |
連 |
美芸 |
5 |
5 |
鐘 |
漢克 |
2 |
6 |
康 |
邁可 |
10 |
7 |
費 |
邦良 |
10 |
8 |
李 |
莉華 |
10 |
9 |
邱 |
安婕 |
5 |
10 |
陳 |
梅玲 |
3 |
若要尋找某個員工的主管姓名,請在資料表中找出該員工、在 [上司] 欄位中找出主管識別碼,然後在相同的 [員工] 欄位中查詢該主管的識別碼。 例如,雅婷的上司是員工識別碼為 5 的主管,亦即鍾漢克。
若要將此工作自動化,請在您的查詢中新增 [員工] 資料表兩次,然後建立自我聯結。 當您第二次新增資料來源時,Access 會在第二個執行個體的名稱附加 _1。 例如,如果您新增 [員工] 資料表兩次,則第二個執行個體會命名為 Employees_1。 若要顯示每一位員工的主管姓名,您需在 [員工] 資料表的 [上司] 欄位與 [員工_1] 資料表的 [員工識別碼] 欄位之間建立聯結。
1.新增資料來源
-
選取 [建立] > [查詢設計]。
將您需要的所有資料表和查詢新增為數據源。 (不用擔心。 如果您忘記,日後仍有機會新增更多數據源。)
資料來源可能包括您想要從中顯示資訊的資料表 (例如產品資料表),以及包括含有您需要用來做為準則之資訊的資料表。
請記住,現有的已儲存查詢也是可用的資料來源。 例如,如果您已經建立查詢來尋找指定月份的所有訂單,則使用該查詢再加上產品資料表,即可顯示在指定月份中售出的所有產品。
2.聯結相關資料來源
-
若要自行新增聯結,請從一個資料來源中,將某個欄位拖曳到另一個資料來源中的對應欄位。 Access 預設會建立內部聯結。
針對大多數關聯,Access 會建立內部聯結。 而且,如果您已指定應該強迫參考完整性,就會將參考完整性納入。 但是,在某些情況下,Access 並不會建立您所需的聯結。 例如,如果您將現有的查詢新增到新查詢中而尚未建立關聯,Access 並不會自動建立聯結。
3.完成查詢。
-
依照一般的查詢建立步驟:新增輸出欄位、新增任何準則,然後執行或儲存查詢。 若要了解做法,請參閱建立基本查詢。