Application.DMin 方法 (Access)

使用 DMin 函数确定域) (指定记录集中的最小值。

语法

表达式DMin (Expr条件)

expression:表示 Application 对象的变量。

参数

名称 必需/可选 数据类型 说明
Expr 必需 字符串 表达式,用于标识要从中查找最小值或最大值的字段。 它可以是用来标识表或查询中字段的字符串表达式,也可以是对该字段中的数据执行计算的表达式。 在 expr 中,可以包含表中字段、窗体控件、常量或函数的名称。 如果 expr 包含函数,它可以是内置函数或用户定义的函数,但不能是其他域聚合函数或 SQL 聚合函数。
必需 字符串 字符串表达式,用于标识组成域的记录集。 可以是表名称或不需要参数的查询的查询名称。
Criteria 可选 Variant 可选的字符串表达式,用于限制作为 DMin 函数执行对象的数据范围。 例如,criteria通常是相当于 SQL 表达式中的 WHERE 子句位置,但是不使用 WHERE一词。 如果省略 criteriaDMin 函数将针对整个域对 expr 求值。 条件中包含的任何字段也必须是域中的字段;否则,DMin 函数返回 Null

返回值

Variant

备注

例如,可以在报表的计算控件中使用 DMin 函数来显示特定客户的最小订单量。 也可以在查询表达式中使用 DMin 函数显示折扣大于最小可能折扣的所有订单。

DMin 函数返回满足 criteria 的最小值。 如果 expr 标识数值数据,则 DMin 函数返回数字值。 如果 expr 标识字符串数据,则返回字母顺序为第一个或最后一个的字符串。

DMin 函数将忽略 expr 引用的字段中的 Null 值。 但是,如果没有记录满足 条件,或者 不包含任何记录, 则 DMin 函数将返回 Null

使用 DMin 函数在查询的 Criteria 行、查询的计算字段表达式或更新查询的 “更新到 ”行中指定条件。

注意

在总计查询的计算字段表达式中使用 DMin 函数或 Min 函数。 如果使用 DMin 函数,则会在对数据进行分组之前计算值。 如果使用 Min 函数,则会在计算字段表达式中的值之前对数据进行分组。

如果只想在 domain 中查找所有记录的最小值或最大值,请使用 MinMax 函数。

虽然可以使用 DMinDMax 函数在外表中的字段中查找最小值或最大值,但是,如果先创建含有所需的这两个表中的字段的查询,然后再将窗体或报表建立在这个查询的基础上,效率可能会更高。

示例

下面的示例返回运往英国的订单的“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 支持和反馈,获取有关如何接收支持和提供反馈的指南。