DCount 函数

您可以使用DCount函数来确定指定组中的记录 ( 域) 的记录数。使用DCount函数中 Visual Basic for Applications (VBA) 模块、 宏、 查询表达式或计算控件。

例如,您无法使用模块中DCount函数放在特定日期的订单返回对应的订单表中的记录数。

语法

DCount expr 、 域 [,criteria]

DCount函数语法具有以下参数︰

参数

说明

expr

必填。用于标识要记录进行计数的字段的表达式。很字符串表达式标识字段的表或查询,或者也可以是对该字段中的数据执行计算的表达式。在expr,您可以包括表、 窗体、 常量或函数中的控件中的字段的名称。如果expr包含函数,它可以是内置或用户定义的但不是另一个域聚合或 SQL 聚合函数。

domain

必填。标识组成域的记录集的字符串表达式。它可以是表名称或不需要的参数查询的查询名称。

criteria

可选。用于限制对其执行DCount函数的数据区域中的字符串表达式。例如,条件通常是相当于 WHERE 子句中 SQL 表达式,没有单词位置。如果省略条件,则DCount函数计算expr针对整个域。在条件中包含的任何字段也必须; 中的字段DCount函数将返回否则Null。


备注

DCount函数用于统计的域中的记录数,当您不需要了解的特定值。虽然expr参数可以在字段上执行计算,也DCount函数只会显示记录的数。任何由expr执行计算的值不可用。

当您需要指定条件来限制函数执行对象的数据区域时,请使用DCount函数计算控件中。例如,若要显示发往加利福尼亚的订单的数目,将文本框的ControlSou强制属性设置为以下表达式︰

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

如果您只想要未指定任何限制中的所有记录进行都计数,请使用都 Count函数。

提示

具有速度统计查询中的记录过优化 Count 函数。在查询表达式,而不是 DCount 函数中,使用 Count 函数并设置可选条件强制任何限制结果。当必须在从域代码模块、 宏或计算控件中的记录进行计数,请使用 DCount 函数。

DCount函数用于统计包含不窗体或报表所基于的记录源中的特定字段的记录数。例如,您可以基于产品表的窗体上的计算控件中订单表中显示订单的数目。

DCount函数不包含在引用expr除非expr星号 (*) 通配符的字段中的值的记录进行计数。如果您使用星号, DCount函数计算记录,包括包含Null字段总行的数。下面的示例计算订单表中的记录数。

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

如果具有主键的表,也可以进行计数记录总数通过设置expr主键字段,因为就不会将空主键字段中。

如果expr标识多个字段,字段名称用分隔串联运算符,或者与号 (&) 或加法运算符 (+)。如果您使用连字符分隔字段, DCount函数将返回任意列出字段中包含数据的记录的数。如果您使用加法运算符, DCount函数将返回只包含所有列出的字段中的数据的记录数。下面的示例演示了每个运算符与包含所有记录 (发货名称) 中的数据的字段和字段不包含数据 (发货地区) 一起使用时的效果。

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

注意: 与号是执行字符串连接的首选的运算符。应避免加法运算符的任何非数值相加,除非您特别想在表达式中传播Null

使用此函数时,不包括到记录中的域的未保存的更改。如果您希望DCount函数基于更改后的值,必须先保存所做的更改,通过在记录下单击数据选项卡,将焦点移动到另一条记录,保存记录或使用更新e方法。

示例

注意: 下面的示例说明使用此函数在 Visual Basic for Applications (VBA) 模块。有关处理 VBA 的详细信息,搜索旁边的下拉列表中选择开发人员参考,然后在搜索框中输入一个或多个术语。

以下函数返回指定的发货日期之后发往指定的国家/地区的订单的数目。域为订单表。

Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function

要呼叫的函数,请在立即窗口中使用下面的代码行︰

:OrdersCount "UK", #1/1/96#

注释: 

  • 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

  • 请在 此处 中查找本文的英文版本以便参考。你和 Microsoft 社区的其他成员可以使用 Community Translation Framework (CTF) 来改进本文。只需将鼠标悬停在文章中的句子上,然后在 CTF 小组件中单击“IMPROVE TRANSLATION”即可。 单击此处了解有关 CTF 的详细信息。 使用 CTF 即表示你同意服务条款

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×