ACC: 建立具有多個值欄位交叉資料表查詢

文章翻譯 文章翻譯
文章編號: 109939 - 檢視此文章適用的產品。
初學者: 需要知識的使用者介面在單一使用者電腦上。

全部展開 | 全部摺疊

在此頁中

結論

在 Microsoft Access 交叉資料表查詢中可以指定只有一個欄位或計算做為值。通常,您可以在查詢中顯示一個以上的值。

例如下列範例顯示每個訂單,數目的計數的公司資訊的兩個資料行,並順序加總每一年:
   Company Name  1989 Orders  1989 Total  1990 Orders  1990 Total
   --------------------------------------------------------------
   ABC Company   12           $855.00     15           $1010.25
   XYZ Company   1017         $22045.57   1050         $25345.29
				
這類查詢有時稱為多值欄位的查詢。

注意: A 示範這份文件中所使用的技巧可以看到範例檔案 Qrysmp97.exe 中。如需有關如何取得這個範例檔案,請參閱下列文 「 Microsoft 知識庫 」 中的資訊:
182568ACC97: Microsoft Access 97 範例使用中的查詢下載中心

其他相關資訊

若要建立多重值欄位交叉資料表查詢,您必須建立兩個個別的交叉資料表查詢與您想要計算每個值的固定的欄名。然後可以聯結這些兩個查詢,使用選取查詢來顯示想要的結果。

下列範例會使用範例資料庫 Northwind.mdb Microsoft Access 版本 7.0 與 Microsoft Access 97 (或 NWIND.MDB 在 2.0 版或較早的版本) 中建立顯示結果類似上述,範例顯示銷售數量的查詢,並為每一家公司每年總。

步驟一: 建立順序總交叉資料表查詢

若要建立訂單合計交叉資料表查詢,請依照下列步驟執行:
  1. 開啟範例資料庫 Northwind.mdb (或 NWIND.MDB 2.0 版或較早的版本中),並建立下列訂貨主檔]、 [訂單明細] 和 [客戶資料表為基礎的交叉資料表查詢
          Query: Order Total
          ------------------
          Type: Crosstab Query
          Join: Customers.[CustomerID] <-> Orders.[CustomerID]
    
          NOTE: In versions 1.x and 2.0, there is a space in Customer ID.
    
          Join: Orders.[OrderID] <-> Order Details.[OrderID]
    
          NOTE: In versions 1.x and 2.0, there is a space in Order ID.
    
          Field: CompanyName
             Table Name: Customers
             Total: Group By
             Crosstab: Row Heading
    
          NOTE: In versions 1.x and 2.0, there is a space in Company Name.
    
          Field: Expr1: Year([OrderDate]) & " " & "Order Total"
             Table Name:
             Total: Group By
             Crosstab: Column Heading
    
          NOTE: In versions 1.x and 2.0, there is a space in Order Date.
    
          Field: Expr2: Sum(CCur([UnitPrice]*[Quantity]*(1.-[Discount])))
             Table Name:
             Total: Expression
             Crosstab: Value
    
          NOTE: In versions 1.x and 2.0, there is a space in Unit Price.
    					
  2. 按一下在查詢格線的上半部的灰色區域上的任何地方來選取此查詢。按一下 [在 [檢視] 功能表上的查詢屬性],選取固定欄名] 核取方塊然後在固定的欄名] 方塊輸入項目適合您的 Microsoft Access 版本:
          Version 1.x:      "1989 Order Total";"1990 Order Total";"1991 Order
                            Total";"1992 Order Total"
    
          Version 2.0:      "1991 Order Total";"1992 Order Total";"1993 Order
                            Total";"1994 Order Total"
    
          Version 7.0:      "1993 Order Total";"1994 Order Total";"1995 Order
                            Total"
    
          Version 97:       "1994 Order Total";"1995 Order Total";"1996 Order
                            Total"
    					
注意: 在 Microsoft Access 版本 2.0、 7.0 和 97 FixedColumnHeadings 屬性稱為欄名。

步驟 2: 建立順序計數交叉資料表查詢

  1. 建立下列根據訂貨主檔] 和 [客戶] 資料表的交叉資料表查詢:
          Query: Order Count
          ------------------
          Type: Crosstab Query
          Join: Customers.[CustomerID] <-> Orders.[CustomerID]
    
          NOTE: In versions 1.x and 2.0, there is a space in Customer ID.
    
          Field: CompanyName
             Table Name: Customers
             Total:      Group By
             Crosstab:   Row Heading
    
          NOTE: In versions 1.x and 2.0, there is a space in Company Name.
    
          Field: Expr1: Year([OrderDate]) & " " & "Order Count"
             Table Name:
             Total: Group By
             Crosstab: Column Heading
    
          NOTE: In versions 1.x and 2.0, there is a space in Order Date.
    
          Field: OrderID
             Table Name: Orders
             Total:      Count
             Crosstab:   Value
    
          NOTE: In versions 1.x and 2.0, there is a space in Order ID.
    					
  2. 按一下在查詢格線的上半部的灰色區域上的任何地方來選取此查詢。按一下 [在 [檢視] 功能表上的查詢屬性],選取固定欄名] 核取方塊然後在固定的欄名] 方塊輸入項目適合您的 Microsoft Access 版本:
          Version 1.x:      "1989 Order Count";"1990 Order Count";"1991 Order
                            Count";"1992 Order Count"
    
          Version 2.0:      "1991 Order Count";"1992 Order Count";"1993 Order
                            Count";"1994 Order Count"
    
          Version 7.0:      "1993 Order Count";"1994 Order Count";"1995 Order
                            Count"
    
          Version 97:       "1994 Order Count";"1995 Order Count";"1996 Order
                            Count"
    					
注意: 在 Microsoft Access 版本 2.0 7.0、 97,FixedColumnHeadings 屬性稱為欄名。

步驟三: 建立多重值查詢

  1. 建立選取查詢,根據訂單合計及訂單計數交叉資料表查詢。 您將使用公司名稱,以及 [訂單合計] 和 [訂單計數欄位年想要檢視其結果。下面的範例會使用最後一個兩年數合計訂單和訂單計數在 Microsoft Access 97
          Query: Multiple Values
          ----------------------
          Join: Order Total.[CompanyName] <-> Order Count.[CompanyName]
    
          NOTE: In versions 1.x and 2.0, there is a space in Company Name.
    
          Field: CompanyName
             Table Name: Order Count
             Show: Yes
          Field: 1995 Order Count
             Table Name: Order Count
             Show: Yes
          Field: 1995 Order Total
             Table Name: Order Total
             Show: Yes
          Field: 1996 Order Count
             Table Name: Order Count
             Show: Yes
          Field: 1996 Order Total
             Table Name: Order Total
             Show: Yes
    					
執行多重值查詢結果看起來像下列的資料表:
 Company Name          1995 Order Count 1995 Order Total 1996 Order Count..
 --------------------------------------------------------------------------
 Alfred's Futterkiste  3                $2,022.50        3
 Ana Trujillo          2                  $799.75        1
 Antonio Moreno        5                $5,960.78        1
				

注意: 這項技術如果無法使用欄位指定為串連 (步驟 One(expr1)) 」 是一種以上的查詢中聯結資料表的欄位。沒有任何方法來強制查詢,以不產生保留的錯誤-1310 接受運算式中的資料表名稱。如果您將資料表名稱加入資料表資料列時,您就會產生語法錯誤。如果您省略表格名稱完全,會產生模稜兩可的參考 」 錯誤。

?考

如需交叉資料表查詢的多個資訊,搜尋 「 交叉資料表查詢,建立,"然後 」 建立交叉資料表查詢而不使用一個精靈],並使用 Microsoft Access 97 說明索引。

屬性

文章編號: 109939 - 上次校閱: 2007年1月18日 - 版次: 2.1
這篇文章中的資訊適用於:
  • Microsoft Access 1.0 Standard Edition
  • Microsoft Access 1.1 Standard Edition
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
關鍵字:?
kbmt kbinfo KB109939 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:109939
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。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