DMin、DMax 函數(shù)

此頁沒有內容條目
內容

expandtri全部顯示

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

例如,可以在報表上的計算控件中使用 DMinDMax 函數(shù)來顯示一個特定客戶的最大和最小訂單量。也可以在查詢表達式中使用 DMin 函數(shù)顯示折扣大于最小可能折扣的所有訂單。

DMin(expr, domain, [criteria])

DMax(expr, domain, [criteria])

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

參數(shù)

說明

expr

表達式,用于標識要為其查找最小值和最大值的字段。也可以是用來標識表或查詢中字段的字符串表達式,或者是以該字段中的數(shù)據(jù)進行計算的表達式。在 expr 中可以包括表字段的名稱、窗體上的控件、常量或函數(shù)。如果 expr 含有函數(shù),那么它可以是內置的,也可以是用戶自定義的,但不能是另一個域聚合函數(shù)或 SQL 聚合函數(shù)。

domain

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

criteria

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

 

說明

DMinDMax 函數(shù)將返回滿足 criteria 的最小值和最大值。如果 expr 標識的是數(shù)值數(shù)據(jù),DMinDMax 函數(shù)將返回數(shù)字值。如果 expr 標識的是字符串數(shù)據(jù),則返回按字母順序排列的第一個或最后一個字符串。

DMinDMax 函數(shù)將忽略 expr 引用的字段中的 Null 值。但是,如果沒有記錄滿足 criteria 或者 domain 中不包含記錄,DMinDMax 函數(shù)將返回 Null

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

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

注釋  可以在總計查詢的計算字段表達式中使用 DMinDMax 函數(shù)或 MinMax 函數(shù)。如果使用 DMinDMax 函數(shù),將在數(shù)據(jù)分組之前求最小或最大值。如果使用 MinMax 函數(shù),將在數(shù)據(jù)分組之后求字段表達式中的最小或最大值。

當需要指定條件來限制函數(shù)執(zhí)行的數(shù)據(jù)范圍時,可使用 DMinDMax 函數(shù)。例如,要顯示運到“華北”的訂單的最大運費,應將文本框的“控件來源”屬性設置為下列表達式:

=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")

如果只是查找 domain 中所有記錄的最小值和最大值,可使用 MinMax 函數(shù)。

如果要顯示的字段不在窗體所基于的記錄源中,可在模塊、宏或窗體上的計算控件中使用 DminDMax 函數(shù)。

blueup提示

DMinDMax外部表

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

示例

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

Dim curX As Currency

Dim curY As Currency

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

curY = DMax("[Freight]", "Orders", "[ShipCountry] = 'UK'")

在下面的示例中,criteria 參數(shù)將包含“OrderDate”文本框的當前值。該文本框綁定到“Orders”表中的“OrderDate”字段。請注意,控件的兩側未加上用以表示字符串的雙引號 (")。這樣可以確保每次調用 DMax 函數(shù)時,Microsoft Access 都從控件中獲得當前值。

Dim curX As Currency

curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _

    & Forms!Orders!OrderDate & "#")

在下面的示例中,條件表達式中包含了變量 dteOrderDate。請注意,字符串表達式中使用了數(shù)字符號 (#),這樣當連接字符串時,日期將包含在 # 內。

Dim dteOrderDate As Date

Dim curX As Currency

dteOrderDate = #03/30/2000#

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

    "[OrderDate] = #" & dteOrderDate & "#")