怎么样得到查询结果里的记录条数?

rsummer 2003-10-16 03:21:51
同题
...全文
375 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
changechange 2003-10-16
  • 打赏
  • 举报
回复
直接用dcount函数即可

全部显示

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 函数。例如,要显示运往 California 的订单数,可将文本框的 ControlSource 属性设为如下表达式:

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")
如果只是统计 domain 中的所有记录而不指定任何限制,则可以使用 Count 函数。

提示 Count 函数是经过优化的,可以加快在查询中对记录数进行统计的速度。所以应在查询表达式中使用 Count 函数来代替 DCount 函数,并设置可选的条件以实施对结果的限制。如果必须从代码模块、宏或计算控件中对域中的记录进行计数时,应该使用 DCount 函数。

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

DCount 函数在计数记录时,不包括由 expr 引用的字段中含有 Null 值的记录,除非 expr 参数为星号(*)通配符。如果使用了星号,DCount 函数将计算所有记录的总数,包括含有 Null 字段的记录。下面的示例将计算“Orders”表中的记录数。

intX = DCount("*", "Orders")
如果 domain 是一个包含主键的表,也可以将 expr 设为主键字段来计算总记录数,因为主键字段不可能为 Null。

如果 expr 指定多个字段,应使用连接运算符分隔各字段名,即和字符(&)或加号运算符(+)。如果使用(&)分隔字段,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 方法。

示例
下面的函数返回在发货日期之后发送到指定国家/地区的订单数量。域为“Orders”表。

Public Function OrdersCount(ByVal strCountry As String, _
ByVal dteShipDate As Date) As Integer

OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountry] = '" & strCountry & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function

若要调用该函数,请在“立即”窗口中使用下列代码:

:OrdersCount "UK", #1/1/96#
zjcxc 2003-10-16
  • 打赏
  • 举报
回复
select count(*) from(查询语句)
520zyb 2003-10-16
  • 打赏
  • 举报
回复
count to num
num值就是记录条数

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧