Application.DMin 方法 (Access)
使用 DMin 函式來判斷網域) (指定記錄集中的最小值。
語法
運算式。DMin (Expr, Domain, Criteria)
expression 代表 Application 物件的變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
Expr | 必要 | 字串 | 運算式,這會識別要尋找其最小值或最大值的欄位。 它可以是字串運算式,用以識別在資料表或查詢中的欄位,也可以是運算式,用以執行在該欄位中之資料的計算。 在 expr 中,您可以包含資料表的欄位名稱、表單上的控制項、常數或函數。 如果 expr 包含函式,它可以是內建或使用者定義,但不能是另一個網域匯總或 SQL 彙總函式。 |
網域 | 必要 | String | 字串運算式,識別構成網域的記錄集。 它可以是不需要參數之查詢的資料表名稱或查詢名稱。 |
Variant | 用來限制在其上執行 DVarP 函數的資料範圍的選用的字串運算式。例如, criteria等於通常 WHERE 子句的 SQL 運算式,不含 where 位置。如果省略 criteria ,則 DVarP 函數會評估 expr針對整個網域。包含在 criteria任何欄位也必須是 domain; 中的欄位否則 DVarP 函數會傳回 Null 。 | Variant | 選用的字串運算式,用來限制要執行 DMin 函數的資料範圍。 例如,criteria 通常相當於 SQL 運算式中的 WHERE 子句,但不用加上 WHERE 這個字。 如果省略 criteria,則 DMin 函數會計算整個範圍的 expr。 criteria 中包含 的任何欄位也必須是網域中的字 段;否則, DMin 函式會傳回 Null。 |
傳回值
Variant
註解
例如,您可以在報表的匯出控制項中使用 DMin 函數,以顯示特定客戶的最小訂單金額。 或者也可以在查詢運算式中使用 DMin 函數,顯示折扣大於最小可能折扣的所有訂單。
DMin 函數會傳回滿足 criteria 的最小值。 如果 expr 識別的是數值資料,則 DMin 函數會傳回數值。 如果 expr 識別的是字串資料,則會依字母順序傳回第一個或最後一個字串。
DMin 函數會忽略 expr 所參照之欄位中的 Null 值。 不過,如果沒有記錄符合 準則,或是網 域 未包含任何記錄, 則 DMin 函式會傳回 Null。
使用 DMin 函 數來指定 查詢之 Criteria 資料列、查詢中匯出欄位運算式或更新查詢的 [ 更新至 ] 資料列中的準則。
注意事項
在合計查詢的計算欄位運算式中使用 DMin 函數或 Min 函式。 如果使用 DMin 函數,則會先估算數值,再群組資料。 如果使用 Min 函數,則會先群組資料,再估算欄位運算式中的值。
如果只想要尋找 domain 中所有記錄的最小值或最大值,請使用 Min 或 Max 函數。
雖然您可以使用 DMin 或 DMax 函數尋找外部資料表中之某個欄位的最小值或最大值,但是建立含有兩個資料表都需要之欄位的查詢,並依據該查詢建立表單或報表,會是比較有效率的方法。
範例
下列範例會針對運送至英國的訂單,傳回其在 Freight 欄位中的最低值及最高值。 範圍是 Orders 資料表。 criteria 引數則將產生的記錄集限制在 ShipCountry 等於 UK 的記錄。
Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", "[ShipCountry] = 'UK'")
curY = DMax("[Freight]", "Orders", "[ShipCountry] = 'UK'")
在下一個範例中,準則運算式包含變數 。 dteOrderDate
請注意由於字串運算式中含有井字號 (#),因此串連字串時,日期外面會有井字號。
Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
"[OrderDate] = #" & dteOrderDate & "#")
下列範例示範如何搭配 DMin 函式使用各種類型的準則。
' ***************************
' Typical Use
' Numerical values. Replace "number" with the number to use.
variable = DMin("[FieldName]", "TableName", "[Criteria] = number")
' Strings.
' Numerical values. Replace "string" with the string to use.
variable = DMin("[FieldName]", "TableName", "[Criteria]= 'string'")
' Dates. Replace "date" with the string to use.
variable = DMin("[FieldName]", "TableName", "[Criteria]= #date#")
' ***************************
' ***************************
' Referring to a control on a form
' Numerical values
variable = DMin("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)
' Strings
variable = DMin("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")
' Dates
variable = DMin("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
' ***************************
' ***************************
' Combinations
' Multiple types of criteria
variable = DMin("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
& " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
& " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
' Use two fields from a single record.
variable = DMin("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
' Expressions
variable = DMin("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
' Control Structures
variable = DMin("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
' ***************************
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。