DSum 函數(shù)

此頁沒有內(nèi)容條目
內(nèi)容

expandtri全部顯示

DSum 函數(shù)用于計算指定記錄集(一個)中的一組值的總和??梢栽?Visual Basic、、查詢表達式或計算控件中使用 DSum 函數(shù)。

例如,可以在查詢的計算字段表達式中使用 DSum 函數(shù)來計算一段時期某個特定雇員的總銷售額。也可以在計算控件中使用 DSum 函數(shù)來顯示特定產(chǎn)品的動態(tài)銷售總和。

DSum(expr, domain, [criteria])

DSum 函數(shù)具有以下參數(shù):

參數(shù)

說明

expr

表達式,用于標識要對其值作總計的字段??梢允侵赶虮砘虿樵冎凶侄蔚?/span>字符串表達式,也可以是以該字段中的數(shù)據(jù)進行計算的表達式。在 expr 中可以包括表中字段的名稱、窗體上的控件、常量或函數(shù)。如果 expr 包含函數(shù),那么它可以是內(nèi)置的,也可以是用戶定義的,但不能是另一個域聚合函數(shù)或 SQL 聚合函數(shù)。

domain

字符串表達式,代表組成域的記錄集??梢允潜砻Q或不需要參數(shù)的查詢的查詢名稱。

criteria

可選的字符串表達式,用于限制 DSum 函數(shù)執(zhí)行的數(shù)據(jù)范圍。例如,criteria 通常等價于 SQL 表達式中的 WHERE 子句,只是不含 WHERE 關鍵字。如果忽略 criteria,DSum 函數(shù)將在整個域范圍內(nèi)計算 expr。任何包含在 criteria 中的字段必須同時也是 domain 中的字段,否則 Dsum 函數(shù)將返回 Null。

 

說明

如果沒有記錄滿足 criteria 參數(shù)或者域中不包含任何記錄,DSum 函數(shù)將返回 Null。

無論是在宏或模塊、查詢表達式或者在計算控件中使用 DSum 函數(shù),都必須謹慎構造 criteria 參數(shù)以確保能夠正確地進行計算。

在查詢的“條件”行、查詢表達式的計算字段中或更新查詢的“更新到”行中,均可以使用 DSum 函數(shù)指定條件。

注釋  可以在總計查詢的計算字段表達式中使用 DSumSum 函數(shù)。如果使用 DSum 函數(shù),將在數(shù)據(jù)分組之前計算總計值。如果使用 Sum 函數(shù),則在分組之后計算字段表達式中值的總計值。

如果需要顯示窗體或報表記錄源以外的字段值的總和,可能需要使用 DSum 函數(shù)。例如,如果有一個窗體顯示有關一種特定產(chǎn)品的信息??梢栽谟嬎憧丶惺褂?DSum 函數(shù)來計算這種產(chǎn)品銷售額的運行總和。

blueup提示

RunningSumDSum

注釋  使用該函數(shù)時,將不包括對 domain 記錄的未保存更改。如果希望 DSum 函數(shù)基于更改后的數(shù)據(jù),必須先保存更改。方法是:單擊“記錄”菜單上的“保存記錄”、將焦點移動到另一條記錄,或使用 Update 方法。

示例

下面的示例計算運往英國的訂單的“Freight”字段的總計值。域為“Orders”表。criteria 參數(shù)將記錄集的結果限制為“ShipCountry”等于 UK 的記錄。

Dim curX As Currency

curX = DSum("[Freight]", "Orders", "[ShipCountry] = 'UK'")

下一個示例通過使用兩個不同的條件來計算總計。注意單引號(')和數(shù)字符號(#)需要包括在字符串表達式中,使得字符串連接時,將原義字符串包含在單引號中,將日期包含在數(shù)字符號中。

Dim curX As Currency

curX = DSum("[Freight]", "Orders", _

    "[ShipCountry] = 'UK' AND [ShippedDate] > #1-1-95#")

可以在更新查詢的“更新到”行中使用域函數(shù)。例如,如果要跟蹤“Products”表中各產(chǎn)品的當前銷售情況,可以將一個名為 SalesSoFar 的新字段添加到“Products”表中,并運行一個更新查詢來計算正確的值并更新記錄。首先,基于“Products”表新建一個查詢,再單擊“查詢”菜單上的“更新查詢”。然后,將 SalesSoFar 字段添加到查詢網(wǎng)格,并將下列內(nèi)容輸入到“更新到”行中:

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

    & [ProductID])

在運行查詢時,Microsoft Access 將根據(jù)“Order Details”表中的信息計算每種產(chǎn)品的銷售總量。每種產(chǎn)品的銷售總和將添加到“Products”表中。