在处理记录时,经常需要将数据限制为特定记录集。某些过程使用 criteria 参数来指定应该返回的数据。例如,当使用域聚合函数时,可指定 criteria 参数来限制应该返回的记录。在使用 Recordset 对象的 Find 方法、设置窗体的 Filter 或 ServerFilter 属性,或者构建 SQL 语句时,也可以指定条件。尽管这些运算各自包含不同的语法,但可以用类似的方法为每种运算构建条件表达式。
例如,可以用 DSum 函数(一种域聚合函数)计算“订单”表中所有货运成本的总和。通过在 ControlSource 属性中输入下列表达式,可以创建一个计算控件。
如果指定可选的 criteria 参数,DSum 函数将在 domain 的子集上执行。例如,可以在“订单”表中只查找那些发送到 California 的订单的货运成本总和:
=DSum("[Freight]", "Orders", "[ShipRegion] = 'CA'")
当提供 criteria 参数时,Microsoft Access 首先计算参数中包含的所有表达式,以形成字符串表达式。然后将字符串表达式传递给域函数。该字符串表达式等同于不含 WHERE 的 SQL WHERE 子句。
可以指定数值、文本或日期/时间条件。无论指定的是何种类型的条件,criteria 参数在传递给域聚合函数之前总是先转换为一个字符串。因此,必须确保在所有表达式都计算之后,参数的所有部分都连接为一个字符串,并且整个字符串都用双引号 (") 括起来。
在构建条件时要注意确保正确地连接字符串。
下列主题列表简述了可以指定条件的各种方法: