Access 2003完整教程:DCount 函数

可以使用DCount函数确定指定的一组记录(域)中的记录数。可以在 Visual Basic、宏、查询表达式或者计算控件中使用DCount函数。

例如,可以在模块中使用DCount函数,以便返回对应于在特定日期所下订单的“订单”表中的记录数。

DCount(expr,domain, [criteria])

DCount函数具有下列参数。

参数说明
expr表达式,用于标识要计算其记录数的字段。它可以是标识表或查询中字段的字符串表达式,也可以是对该字段中的数据执行计算的表达式。在 expr 中,可以包含表中字段的名称、窗体上的控件、常量或函数。如果 expr 包含一个函数,那么它可能是内置或用户定义的函数,但不是另一个域聚合函数或 SQL 聚合函数。
domain字符串表达式,用于标识组成域的一组记录。它可以是表名称或不需要参数的查询的查询名称。
criteria可选字符串表达式,用于限制对其执行DCount函数的目标数据的范围。例如,criteria 通常等价于 SQL 表达式中的 WHERE 子句,但它没有单词 WHERE。如果 criteria 被省略,那么DCount函数将针对整个域计算 expr。任何包含在 criteria 中的字段必须也是 domain 中的字段;否则DCount函数将返回Null

说明

如果不需要知道记录的特殊值,可以使用DCount函数来计算域中的记录数。尽管 expr 参数可以针对字段执行计算,但是DCount函数只是简单清点记录数。任何由 expr 执行的计算值均不可用。

如果需要指定一个条件来限制对其执行函数的目标数据的范围,可以在计算控件中使用DCount函数。例如,若要显示运送到加州的订单数,请将文本框的“控件来源”属性设置为下列表达式:

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

如果只是想在不指定任何限制的情况下计算 domain 中的所有记录数,请使用Count函数。

提示

Count函数已经过优化,可提高在查询中清点记录数的速度。请在查询表达式中使用Count函数(而不是DCount函数),并设置可选条件以便对结果实加任何限制。如果必须从代码模块或宏内、或者在计算控件中清点域中的记录数,请使用DCount函数。

可以使用DCount函数计算包含特殊字段(不在窗体所基于的记录源中)的记录数。例如,您想在基于“产品”表的窗体上计算控件中的“订单”表中显示订单数。

DCount函数不会计算在由 expr 引用的字段中包含Null值的记录,除非 expr 是星号 (*) 通配符。如果使用星号,那么DCount函数将计算记录总数,包括那些包含Null字段的记录。下列示例将计算“订单”表中的记录数。

intX = DCount("*", "Orders")

如果 domain 是一个具有主键的表,那么也可以通过将 expr 设置为主键字段来计算记录总数,因为在主键字段中永远不会存在Null

如果 expr 标识了多个字段,那么请使用连接运算符(“And”符号 (&) 或加号运算符 (+))来分隔字段名称。如果使用“And”符号分隔字段,那么DCount函数将返回在任何列出字段中包含数据的记录数。如果使用加号运算符,那么DCount函数只返回在所有列出字段中包含数据的记录数。下列示例说明了当用于包含所有记录中数据的字段 (ShipName) 和不包含数据的字段 (ShipRegion) 时,每一个运算符产生的效果。

intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")

注释星号是执行字符串连接的首选运算符。应该避免将加号运算符用于不是数值相加的任何情况,除非您特别想在表达式中传播Null

使用该函数时,不会包含对 domain 中记录的未保存更改。如果要让DCount函数基于更改的值,必须首先保存更改:单击“记录”菜单上的“保存记录”,然后将焦点移动到另一个记录,或者使用Update方法。

上页:Access 2003完整教程:DAvg 函数 下页:Access 2003完整教程:DDE 函数

Access 2003完整教程:DCount 函数

Access 2003完整教程:DDE 函数Access 2003完整教程:DDEInitiate 函数
Access 2003完整教程:DDERequest 函数Access 2003完整教程:DeleteControl 方法
Access 2003完整教程:DeleteReportControl 方法Access 2003完整教程:DFirst、DLast 函数
Access 2003完整教程:DLookup 函数Access 2003完整教程:HyperlinkPart 方法
Access 2003完整教程:LoadPicture 方法Access 2003完整教程:Nz 函数
Access 2003完整教程:SysCmd 方法Access 2003完整教程:将数据透视表视图内容的格式设置成从右到左读取或从左到右读取
Access 2003完整教程:窗体的“数据透视表”和“数据透视图”视图中可用的函数Access 2003完整教程:关于在“Visual Basic 编辑器”中获取 Access 产品帮助
Access 2003完整教程:获得有关 Access 事件和属性的帮助Access 2003完整教程:页面中控件的 HTML 元素和类
Access 2003完整教程:从 Microsoft Windows SharePoint Services 列表导入Access 2003完整教程:改进 Access 项目的性能
Access 2003完整教程Access 2003完整教程:Microsoft Access 项目设计器中的消息汇总
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号