ACC2000:建立有多值欄位的交叉資料表查詢

文章翻譯 文章翻譯
文章編號: 209143 - 檢視此文章適用的產品。
本文曾發行於 CHT209143
全部展開 | 全部摺疊

結論

新手:需具備單一使用者電腦之使用者介面知識。

在 Microsoft Access 交叉資料表查詢中,您可以只指定一個欄位或運算作為查詢值。但往往您會需要在查詢中顯示多於一個值。

例如,下例的每家公司皆顯示兩行資訊,包括定單數量和當年定單金額總計:
   Company Name  1998 Order  1998 Order  1999 Order   1999 Order
                      Count    Total       Count       Total  
   --------------------------------------------------------------
   ABC Company   12           $855.00     15           $1010.25
   XYZ Company   1017         $22045.57   1050         $25345.29
此類查詢有時也稱為 [多值欄位] 查詢。

注意: 本文所使用的方法,在 Qrysmp00.exe範例檔中亦有示範。欲知如何取得此檔,請參照下列 Microsoft Knowledge Base 文章:
207626 ACC2000: Access 2000 Sample Queries Available in Download Center

其他相關資訊

要建立一個多值欄位交叉資料表查詢,您必須為每一個要運算的值分別建立一個交叉資料表查詢。使用一個選取查詢將這些查詢聯結,即可顯示所要的結果。

下列的範例使用 Northwind.mdb 範例資料庫建立一個查詢,顯示與本文前面〈摘要〉章節中的範例近似的結果。它顯示每一家公司每年的銷售量和總計。
  1. 開啟 Northwind.mdb 範例資料庫,並以 Orders、Order Details 和 Customers 表格為基礎,建立下列交叉資料表查詢:
       查詢:Order Total
       ------------------
       類型:交叉資料表查詢
       聯結:Customers.[CustomerID] <-> Orders.[CustomerID]
       聯結:Orders.[OrderID] <-> Order Details.[OrderID]
    
       欄位:CompanyName
          表格名稱:Customers
          總計:Group By
          交叉資料表:列標題
    
       欄位:Expr1: Year([OrderDate]) & " " & "Order Total"
          表格名稱:
          總計:Group By
          交叉索引標籤:行標題
    
      欄位:Expr2: Sum(CCur([UnitPrice]*[Quantity]*(1-[Discount])))
          表格名稱:
          總計:運算式
          交叉資料表:值
  2. 以 Orders 和 Customers 表格為基礎建立下列交叉資料表查詢:
       查詢:Order Count
       ------------------
       類型:交叉資料表查詢
       聯結:Customers.[CustomerID] <-> Orders.[CustomerID]
    
       欄位:CompanyName
          表格名稱:Customers
          總計:Group By
          交叉資料表:列標題
    
       欄位:Expr1: Year([OrderDate]) & " " & "Order Count"
          表格名稱:
          總計:Group By
          交叉資料表:行標題
    
       欄位:OrderID
          表格名稱:Orders
          總計:Count
          交叉資料表:值
  3. 以 Order Total 和 Order Count 交叉資料表查詢為底,建立一個選取查詢。對於要檢視的年份的結果,您須使用 CompanyName 以及 Order Total 和 Order Count 欄位。下例在 Microsoft Access 下使用過去兩年的 Order Total 和 Order Count。
       查詢:多值
       ----------------------
       聯結:Order Total.[CompanyName] <-> Order Count.[CompanyName]
    
       欄位:CompanyName
       表格名稱:Order Count
    
       欄位:1997 Order Count
       表格名稱:Order Count
    
       欄位:1997 Order Total
       表格名稱:Order Total
    
       欄位:1998 Order Count
       表格名稱:Order Count
    
       欄位:1998 Order Total
       表格名稱:Order Total
執行此多值查詢將顯示類似下列的表格:
                         1997 Order  1997 Order  1998 Order  1998 Order
   Company Name            Count       Total       Count       Total
   --------------------------------------------------------------------
   Alfred's Futterkiste        3      $2,022.50        3      $2,022.50
   Ana Trujillo                2        $799.75        1        $514.10
   Antonio Moreno              5      $5,960.78        1        $660.00
注意: 如果指定聯結的欄位出現在聯結查詢中多個表格裹,您即需要在運算式中添加表格名稱。例如,在步驟 1 中您應改變:
   Year([OrderDate]) & " " & "Order Total"
為:
   Year([Orders].[OrderDate]) & " " & "Order Total"
如果將表格名稱添加到 [表格] 列中,就會產生語法錯誤。如果完全省略表格名稱,則會產生參照不明確的錯誤。

?考

有關交叉資料表查詢的其他資訊,請按一下 [說明] 功能表上的 [Microsoft Access 說明],在 [Office 小幫手] 或 [解答精靈] 中輸入「 交叉資料表查詢」,然後按一下 [搜尋],以檢視主題。


本文件是根據 Microsoft Knowledgebase 文件編號 Q209143 翻譯的. 若要參考原始英文文件內容, 請至以下網址:

http://support.microsoft.com/support/kb/articles/Q209/1/43.asp

屬性

文章編號: 209143 - 上次校閱: 2000年11月28日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft Access 2000 Standard Edition
關鍵字:?
kbhowto kbdta KB209143
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com