Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

您可以使用 DSum 函數來計算指定記錄集合中一組值的總和, ( 範圍) 。 在 Visual Basic for Applications (VBA) 模組、 巨集、查詢運算式或 計算控制項中使用 DSum 函數。

例如,您可以在查詢的匯出字段表達式中使用 DSum 函數來計算特定員工在一段時間內的總銷售額。 或者,您可以在計算控件中使用 DSum 函數,顯示特定產品的銷售量總和。

語法

DSum ( expr , domain [, criteria] )

DSum 函數語法具有下列自變數:

引數

描述

expr

必要。 用來識別要合計值的數值欄位的表達式。 它可以是識別資料表或查詢中欄位的 字串運算式,或可以是在該欄位的資料上執行計算的運算式。 在 expr 中,您可以加入資料表中的欄位名稱、表單上的控制項、常數或函數。 expr 可包含內建或使用者定義的函數,但不得是另一個網域彙總或 SQL 彙總函數。

domain

必要。 識別構成範圍之記錄集的字串運算式。 它可以是資料表名稱,或不需要參數之查詢的查詢名稱。

criteria

可省略。 用來限制 執行 DSum 函數之數據範圍的字串表達式。 例如,criteria 通常相當於 SQL 運算式中的 WHERE 子句,但沒有 WHERE 字樣。 如果省略 criteria則 DSum 函數會針對整個網域評估 expr 。 準則 中包含 的任何欄位也必須是網 中的欄位;否則, DSum 函數會傳 回 Null。


註解

如果沒有任何記錄符合 criteria 自變數,或網域不包含記錄, 則 DSum 函數會傳回 Null。

無論您是在宏、模組、查詢運算式或計算控件中使用 DSum 函數,您都必須仔細建構 criteria 自變數,以確保能正確評估。

您可以使用 DSum 函數在查詢的 [ 準則 ] 資料列、查詢表示式中的匯出欄位或 更新查詢的 [ 更新至 ] 列中指定準則。

附註: 您可以在 合計查詢的匯出字段表示式中使用 DSumSum 函數。 如果您使用 DSum 函數,值會在資料分組之前進行計算。 如果您使用 Sum 函 ,數據會先分組,然後再評估欄位運算式中的值。

當您需要顯示非表單或報表記錄來源之欄位的一組值加總時,建議您使用 DSum 函數。 例如,假設您有顯示特定產品相關信息的表單。 您可以使用 DSum 函數,在計算控件中維護該產品的銷售總額。

祕訣

如果您需要在報表上的控件中維持執行總計,您可以使用該控件的 RunningSum 屬性,如果其基礎欄位包含在報表的記錄來源中。 使用 DSum 函數在表單上維持執行中的加總。

附註: 當您使用此函數時,不會包含 網域 中記錄的未儲存變更。 如果您希望 DSum 函數根據變更的值,您必須先儲存變更,方法是按兩下 [常] 索引標籤上 [記錄] 群組中的 [儲存記錄]、將焦點移至另一筆記錄,或使用更新方法。

範例

在表達式中使用 DSum 函數    您可以在更新查詢的 [更新至] 列中使用網域函數 (例如 DSum) 。 例如,假設您想要在 [產品] 數據表中依產品追蹤目前的銷售量。 您可以將名為 SalesSoFar 的新欄位新增至 [產品] 資料表,並執行更新查詢以計算正確的值並更新記錄。 若要這麼做,請根據 [產品] 數據表建立新的查詢,然後在 [ 設計 ] 索引卷標上,按兩下 [ 查詢類型 ] 群組中的 [ 更新]。 將 SalesSoFar 字段新增至查詢網格線,然後在 [ 更新至 ] 列中輸入下列內容:

DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])

當您執行查詢時,Access 會根據 [訂單詳細數據] 資料表中的資訊,計算每個產品的總銷售額。 每個產品的銷售總和會新增至 [產品] 數據表。

在 VBA 程序代碼中使用 DSum    

附註: 下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

下列範例會匯總出出往英國之訂單的 Freight 字段值。 網域是 [訂單] 數據表。 criteria 自變數會將結果記錄集限制為 ShipCountryRegion 等於英國之記錄集。

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

下一個範例會使用兩個不同的準則來計算總計。 請注意,字串表達式中會包含單引號 ( ) 和數位符號 (#) ,因此當字串串連時,字串常值會以單引號括住,且日期會以井字型大小括住。

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK' AND _
[ShippedDate] > #1-1-95#")

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×