Application.DMin 方法 (Access)
使用 DMin 函数确定域) (指定记录集中的最小值。
语法
表达式。DMin (Expr、 域、 条件)
expression:表示 Application 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
Expr | 必需 | 字符串 | 表达式,用于标识要从中查找最小值或最大值的字段。 它可以是用来标识表或查询中字段的字符串表达式,也可以是对该字段中的数据执行计算的表达式。 在 expr 中,可以包含表中字段、窗体控件、常量或函数的名称。 如果 expr 包含函数,它可以是内置函数或用户定义的函数,但不能是其他域聚合函数或 SQL 聚合函数。 |
域 | 必需 | 字符串 | 字符串表达式,用于标识组成域的记录集。 可以是表名称或不需要参数的查询的查询名称。 |
Criteria | 可选 | Variant | 可选的字符串表达式,用于限制作为 DMin 函数执行对象的数据范围。 例如,criteria通常是相当于 SQL 表达式中的 WHERE 子句位置,但是不使用 WHERE一词。 如果省略 criteria,DMin 函数将针对整个域对 expr 求值。 条件中包含的任何字段也必须是域中的字段;否则,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 支持和反馈,获取有关如何接收支持和提供反馈的指南。