使用查詢管理資料

查詢不相關的資料來源

您的瀏覽器不支援視訊。請安裝 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

有時您需要建立查詢,才能從沒有直接 (一對一或一對多) 關聯的資料來源中取得資訊。

使用中繼資料表連結查詢中的資料來源

當您執行查詢時,Access 會使用您在資料表之間建立的關聯,並且會推算並建立其他資料來源之間的連結。如果查詢所需的關聯不存在,請連結資料表供查詢使用。

假設您想了解自己已收到多少來自不同供應商的產品訂單。您的供應商資料表並未連結至包含產品識別碼與數量資訊的採購單詳細資料資料表。不過,採購單資料表已連結至採購單詳細資料資料表。

多個資料表的資料來源,已預先定義及未預先定義關聯。

提示: 如果您可能需要在目前建立的查詢以外的情況下使用這個關聯,建議您建立中繼關聯供日後使用。若要了解建立方式,請參閱建立多對多關聯性

如果您不想在資料庫中建立中繼資料表,請使用採購單資料表做為查詢的中繼資料表。在採購單資料表的左側新增供應商資料表,然後建立連結。

使用一個資料表間接連結兩個不同的資料表

採購單資料表會連結供應商與採購單詳細資料這兩個資料表。使用符合下列準則的欄位 (例如供應商資料表中的識別碼,以及採購單資料表中的供應商識別碼) 連結資料表:

  • 具有相符或相容資料類型的兩個欄位。例如,您無法將文字欄位連結至數字欄位。

  • 包含各個資料表中相符且不重複記錄的欄位。例如,姓氏可能會重複,因此建議您不要連結兩個姓氏欄位。

  • 可確保您取得正確記錄結果的欄位。舉例來說,如果您將供應商識別碼連結至採購識別碼,那麼您可能會在這兩個識別碼類似的情況下取得一些相符結果。但這類結果沒有任何意義,原因是供應商識別碼和採購識別碼之間毫無關聯。較佳的做法是將供應商資料表中的識別碼連結至採購單資料表中的供應商識別碼。這樣一來,由於兩個欄位包含的都是供應商的識別資訊,因此您取得的會是有意義的記錄。

步驟

無論您在資料庫中已有中繼資料表,或只是打算在查詢中使用中繼資料表,請您遵循下列步驟操作:

  1. 在兩個未連結的資料表之間,新增中繼資料表至查詢。

  2. 與中繼資料表建立任何必要的連結。

    您可以使用任何適當的聯結類型建立連結,但必須透過符合本單元前述準則的欄位連結。

    建立與中繼資料表所需的連結
  3. 完成查詢。

    依照一般的查詢建立步驟:新增輸出欄位、新增任何準則,然後執行或儲存查詢。若要了解做法,請參閱建立基本查詢

    附註: 您不需要在結果中納入中繼資料表,但您必須將中繼資料表設為查詢的一部分資料來源,讓 Access 能夠連結資料。

想要更多資訊嗎?

建立基本查詢

透過聯結多個資料來源建立查詢

使用外部聯結建立查詢

Excel 訓練課程

Outlook 訓練

有時候您會需要查詢不相關的資料表或其他資料來源,而且沒有共用聯結。您可以採取兩種做法。

您可以使用中繼資料表:也就是,與您想要使用的資料來源共用聯結的資料表。

或者,您可以新增聯結。

讓我們從中繼資料表開始。在這個範例資料庫中,員工須輸入每筆訂單的狀態,不過他們有時候會忘記。

所以您想要解答的問題則是:「哪些訂單沒有狀態,以及哪些員工忘記輸入訂單狀態?」

表面上,這看起來像是我們需要在查詢中使用三個資料表:[員工]、[訂單] 及 [訂單詳細資料狀態],因為它們對應我們的問題中的資料點:「哪些訂單沒有狀態,以及哪些員工忘記輸入訂單狀態?」

在查詢中新增資料表,然後您會看到這兩個資料表未聯結,但又何妨呢?我們可以新增聯結。

所以,我們聯結 ID 欄位、執行查詢,以及其他更多操作。

所以現在我們執行首先應該要做的事,然後看看資料表之間的關聯性。

當我們這麼做時,我們會看到看似一連串的關聯:[員工] 到 [訂單]、[訂單] 到 [訂單詳細資料],以及 [訂單詳細資料] 到 [訂單詳細資料狀態]。

[訂單] 和 [訂單詳細資料狀態] 不相關,但 [訂單詳細資料] 與它們兩者都相關。這會讓 [訂單詳細資料] 成為我們的中繼資料表。

這進而導致一個規則:只要中繼資料表是資料來源的一部分,您就可以查詢這些不相關的資料表,並獲得有效的結果。

您不需要在結果中包含中繼資料表,但它必須是查詢的資料來源之一部分。

所以,我們在查詢中新增 [訂單詳細資料]、保持相同的欄位,然後執行查詢。

我們篩選空白的值,然後得到我們的解答。

現在讓我們在查詢中新增聯結。若要這麼做,請再記住一些規則。

第一點,您想要聯結的資料表或查詢須有含有相符或相容資料類型的欄位。

例如,[數字] 和 [貨幣] 資料類型是相容的,但 [數字] 和 [文字] 則不相容。

第二點,您建立的聯結只存在於您的查詢中。您不是在這裡建立資料表關聯。

還有第三點,結果應該要有意義。例如,如果聯結傳回訂單和公務車的相關資料,您可能應該要從頭開始。

假設我們需要知道哪些客戶訂購了哪些產品。

我們會在新的查詢中新增 [客戶]、[訂單] 及 [訂單詳細資料]。現在我們新增聯結。我們將客戶 ID 從 [客戶] 資料表拖曳到 [訂單] 資料表中的相符欄位。

這就是聯結線,而現在我們有另一個規則:Access 會將您拖曳的欄位放在新聯結的左方。如果您不想要這樣,請選取聯結線、按 Delete 鍵,然後從頭開始。

既然我們已經處理了,我們可以建立查詢。我們新增 [客戶] 的 [名字] 和 [姓氏],然後新增 [訂單詳細資料] 的 [產品 ID]、[訂單 ID]、[數量]、及 [單價]。

執行查詢,然後得到我們的資料。

現在您知道在想要查詢不相關的資料來源時,可以使用的兩種技術:使用中繼資料表或新增聯結,然後您的資料問題的解答就會顯示。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×