文章編號: 290136 - 上次校閱: 2007年4月3日 - 版次: 6.0

如何在 Microsoft Access 中建立執行總計查詢

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
進階使用者:須具備專家編碼、互操作性與多重使用者技巧。.

僅於 Microsoft Access 資料庫 (. mdb) 檔案僅適用於 Microsoft Access 2000 版本的本篇文章還是本篇文章適用於 Microsoft Access 資料庫 (.accdb) file.For, 請參魷 \cs6 \f1 \cf6 \lang1024 208714? (http://support.microsoft.com/kb/208714/EN-US/ ) .
如本篇文章, 版本的 Microsoft Access 97 請參魷 \cs6 \f1 \cf6 \lang1024 138911? (http://support.microsoft.com/kb/138911/ ) .

在此頁中

全部展開 | 全部摺疊

結論

這份文件示範兩個方法, 您可以使用來建立執行總計查詢。 執行總計查詢是在為每個資料錄總數為總和的該資料錄和任何先前的記錄查詢。 這種類型的查詢可用來透過群組的記錄 (或) 在的時間內顯示圖表或報表中累積總和。

請注意 您可以看到 Qrysmp00.exe 範例檔案中這份文件中所使用技術的示範。 如需有關如何以取得此範例檔案, 資訊請參閱下面 「 Microsoft 知識庫 」 中的文件:
207626? (http://support.microsoft.com/kb/207626/EN-US/ ) ACC 2000: Access 2000 範例查詢可從 Download Center 下載

其他相關資訊

方法 1

第一個方法在查詢中使用 DSum 函數和準則來建立隨時間變動總合。 DSum 函數加總目前資料錄和任何先前的記錄。 當查詢移動到下一筆記錄, DSum 函數會再次執行並更新累計總和。

下列範例查詢使用 [ 訂貨主檔 ] 資料表從 Northwind 範例資料庫, 為每個月在 1997 建立變動總合的運費成本。 範例資料只限於基於效能考量一年。 要為查詢來完成處理因為 DSum 函數執行一次為每個資料錄在查詢, 它可能會花數秒鐘 (取決於您的電腦速度)。 如果要建立並執行這項查詢, 請依照下列步驟執行:
  1. 開啟北風範例資料庫。
  2. 建立新的選取查詢並將 Orders 資料表。
  3. 在 [ 檢視 ] 功能表, 按一下 [ 總計 ] 。

    在 Access 2007, 按一下 請注意 [ 設計 ] 索引標籤上 [ 顯示 / 隱藏 ] 群組中的 [ 總計 ]
  4. 在第一個資料行的查詢設計格線, 在, [ 欄位 ] 方塊鍵入下列運算式, 請為方塊 合計 、, 排序 ] 和 [ 顯示 下列選項:
       Field: AYear: DatePart("yyyy",[OrderDate])
       Total: Group By
       Sort: Ascending
       Show: Yes
    						
    在 [ 欄位 ] 方塊中運算會顯示並排序訂單日期 ] 欄位的年份部分。
  5. 在 [ 欄位 ] 方塊, 鍵入下列運算式的查詢設計格線, 第二欄中, 請為方塊 合計 、, 排序 ] 和 [ 顯示 下列選項:
       Field: AMonth: DatePart("m",[OrderDate])
       Total: Group By
       Sort: Ascending
       Show: Yes
    						
    在 [ 欄位 ] 方塊中運算式來排序而且月份部分的 [ 訂單日期 ] 欄位顯示為從 1 到 12 的整數值。
  6. 在第三個資料行的查詢設計格線, 在, [ 欄位 ] 方塊中鍵入下列運算式, 請為方塊 合計 ] 和 [ 顯示 下列選項。

    請注意 : 在下面的範例, 行接續字元會當做在一行的結尾的底線 (_) 當重新建立此範例從結尾處行移除底線。
       Field: RunTot: DSum("Freight","Orders","DatePart('m', _
              [OrderDate])<=" & [AMonth] & " And  DatePart('yyyy', _
              [OrderDate])<=" & [AYear] & "")
       Total: Expression
       Show: Yes
    						
    運算式在 [ 欄位 ] 方塊中使用 DSum () 函數來何時 AMonth 和 AYear 欄位中的值小於或等於對目前記錄, 查詢處理加總運費 ] 欄位。
  7. 在第四個資料行的查詢設計格線, 在, [ 欄位 ] 方塊鍵入下列運算式, 請為方塊 合計 、, 排序 ] 和 [ 顯示 下列選項:
       Field: FDate: Format([OrderDate],"mmm")
       Total: Group By
       Sort: Ascending
       Show: Yes
    						
    運算式在 [ 欄位 ] 方塊中顯示每個月以文字格式, 這類 Jan、 Feb、 Mar, 依此類推。
  8. 在第五個資料行的查詢設計格線, 在, [ 欄位 ] 方塊鍵入下列運算式, 請下列選項為 準則 , 合計 ] 和 [ 顯示 方塊:
       Field: DatePart("yyyy",[OrderDate])
       Total: Where
       Criteria: 1997
       Show: No
    						
    [ 欄位 ] 方塊中運算式篩選查詢的資料錄集到包含來自 1997 年只有資料。
  9. 執行查詢。 請注意, [ RunTot 欄位會顯示與變動總合有下列記錄:
       AYear    AMonth     RunTot       FDate
       --------------------------------------
       1997     1          2238.98      Jan
       1997     2          3840.43      Feb
       1997     3          5729.24      Mar
       1997     4          8668.34      Apr
       1997     5          12129.74     May
       1997     6          13982.39     Jun
       1997     7          17729.29     Jul
       1997     8          22204.73     Aug
       1997     9          26565.26     Sep
       1997     10         32031.38     Oct
       1997     11         36192.09     Nov
       1997     12         42748.64     Dec
    					

方法 2

第二種方法使用總計查詢使用 DSum () 函式來建立執行總移轉群組。

下列範例查詢將使用 [ 訂貨主檔 ] 資料表與每位員工, 以及於計算變動總合的運費加總運費成本。 如果要建立並執行查詢, 請依照下列步驟執行:
  1. 開啟範例資料庫 Northwind.mdb。.
  2. 建立新的選取查詢並將 Orders 資料表。
  3. 在 [ 檢視 ] 功能表, 按一下 [ 總計 ] 。

    在 Access 2007, 按一下 請注意 [ 設計 ] 索引標籤上 [ 顯示 / 隱藏 ] 群組中的 [ 總計 ]
  4. 在第一個資料行的查詢設計格線, 將下列欄位加入至 [ 欄位 ] 方塊, 並進行下列選取為 總計 和 顯示 方塊:
       Field: EmpAlias: EmployeeID
       Total: Group By
       Show: Yes
    						
    這個欄位群組 EmployeeID 資料。
  5. 將下列欄位加入至 [ 欄位 ] 方塊, 並進行下列選取為 總計 和 顯示 方塊的查詢設計格線, 第二欄中:
       Field: Freight
       Total: Sum
       Show: Yes
    						
    這個欄位會加總運費資料。
  6. 在第三個資料行的查詢設計格線, 在, [ 欄位 ] 方塊中鍵入下列運算式, 請為方塊 合計 ] 和 [ 顯示 下列選項。

    請注意 : 在下面的範例, 行接續字元會當做在一行的結尾的底線 (_) 當重新建立此範例從結尾處行移除底線。
       Field: RunTot: Format(DSum("Freight","Orders","[EmployeeID]<=" _
              & [EmpAlias] & ""),"$0,000.00")
       Total: Expression
       Show: Yes
    						
    運算式在 [ 欄位 ] 方塊中使用 DSum () 函數來當 EmployeeID 是小於或等於要目前 EmpAlias, 且然後格式化美元中的欄位加總運費 ] 欄位。
  7. 執行查詢。 請注意, [ RunTot 欄位會顯示與變動總合有下列記錄:
       Employee              SumOfFreight     RunTot
       -------------------------------------------------
       Davolio, Nancy        $8,836.64        $8,836.64
       Fuller, Andrew        $8,696.41        $17,533.05
       Leverling,Janet       $10,884.74       $28,417.79
       Peacock, Margaret     $11,346.14       $39,763.93
       Buchanan, Steven      $3,918.71        $43,682.64
       Suyama, Michael       $3,780.47        $47,463.11
       King, Robert          $6,665.44        $54,128.55
       Callahan, Laura       $7,487.88        $61,616.43
       Dodsworth, Anne       $3,326.26        $64,942.69
    					

這篇文章中的資訊適用於:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
關鍵字:?
kbinfo kbexpertiseinter kbhowto KB290136 KbMtzh kbmt
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。如果您發現錯誤,並想要協助我們進行改善,請填寫本篇文章下方的問卷。
按一下這裡查看此文章的英文版本:290136? (http://support.microsoft.com/kb/290136/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。