DSum 函數

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

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

例如,您可以在查詢中的導出的欄位運算式中使用DSum函數,計算一段時間內特定員工的總銷售量。或者,您可以使用DSum函數計算控制項中以顯示特定產品銷售總和執行。

語法

DSum expr 、 網域[,criteria] )

DSum函數語法具有下列引數 ︰

引數

描述

expr

所需。運算式,識別數值欄位您想要的值總和。可以是識別欄位欄位的資料表或查詢, 字串運算式或執行計算該欄位中的資料的運算式。在expr,您可以包含資料表、 表單、 常數或函數上的控制項中的欄位的名稱。如果expr包含函數,它可以是內建或使用者定義,但不是另一個範圍聚合函數或 SQL 彙總函數。

domain

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

criteria

選用。用來限制執行DSum函數的資料範圍的字串運算式。例如準則,通常會 WHERE 子句的 SQL 運算式,而 word 不相同位置。如果省略了準則,則DSum函數會評估expr針對整個網域。在準則中所包含任何欄位也必須網域; 中的欄位否則, DSum函數會傳回Null。


註解

如果沒有記錄符合準則引數,或不包含任何記錄的網域, DSum函數會傳回 null 值。

無論您使用DSum函數巨集、 模組、 查詢運算式或計算的控制項中,您必須建構謹慎以確保,它將會評估正確的準則引數。

若要指定準則的查詢,在查詢運算式或更新查詢的 [更新至] 列中的導出欄位的 [準則] 列中,您可以使用DSum函數。

附註: 您可以使用 [ DSum ] 或 [ Sum函數中的導出的欄位運算式中合計查詢。如果您使用DSum函數,在群組資料之前計算值。如果您使用Sum函數,在欄位運算式中的值的評估之前,先被群組資料。

您可能會想要使用DSum函數,當您要顯示的一組欄位不在您的表單或報表的記錄來源中的值總和。例如,假設您有一個表單來顯示特定產品的相關資訊。您可以使用DSum函數,若要維持所執行的總計算控制項中的該產品的銷售量。

秘訣

如果您需要保留總報表上控制項中,您可以使用該控制項的變動總合] 屬性,如果它所依據的欄位會包含在報表的記錄來源。若要維持在表單上的執行加總使用 DSum 函數。

附註: 當您使用此函數不包含在內網域中的記錄未儲存的變更。如果您想要變更的值為基礎DSum函數,您必須先儲存的變更是按一下 [儲存記錄在 [常用] 索引標籤上的 [記錄] 群組中將焦點移至其他記錄,或使用 [更新] 方法。

範例

使用運算式中 DSum 函數   您可以在更新查詢的 [更新至] 列中使用網域函數 (例如DSum)。例如,假設您想要在 [產品] 資料表中的產品,追蹤目前的銷售。您無法新增至 [產品] 資料表中,稱為 SalesSoFar 欄位,並執行更新查詢來計算正確的值,並更新記錄。若要這麼做,建立新的查詢,根據 [產品] 資料表和 [設計] 索引標籤的 [查詢類型] 群組中,按一下 [更新]。將目前銷售] 欄位新增至查詢格線中,並更新至] 列中輸入下列動作 ︰

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

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

VBA 程式碼中使用DSum   

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

下列範例合計運送至英國的訂單的 [運費] 欄位中的值。Orders 資料表中的網域。準則引數會產生一組記錄限制這些的 ShipCountryRegion 等於 uk (英國)。

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#")

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×