DAvg 函数

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

您可以使用DAvg函数计算一组指定的记录 ( 域) 中的值的一组数的平均值。在 Visual Basic for Applications (VBA) 模块中、 在宏、 查询表达式,或在计算控件使用DAvg函数。

例如,您可以使用DAvg函数的选择查询的条件行中运费要将结果限制为这些记录运费超过平均值的位置。或者,您可以使用包含DAvg函数计算控件中的表达式,并显示以前订单旁边的新位置的值的平均值。

语法

DAvg expr 、 域 [,criteria]

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

参数

说明

expr

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

domain

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

criteria

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


备注

包含Null值的记录未包含在计算的平均值。

无论您使用DAvg函数宏或模块中、 在查询表达式,或在计算控件中,您必须构造criteria参数仔细以确保它将被正确计算。

DAvg函数可用于在查询的条件行中指定条件。例如,假设您要查看的订购数量高于平均订购数量的所有产品的列表。您无法在订单、 订单明细和产品表创建查询,并包含产品名称字段和数量字段数量字段下的条件行中的以下表达式︰

>DAvg("[Quantity]", "Orders")

在查询中,或更新查询的更新到行中,您也可以使用DAvg函数的计算的字段表达式中。

注意: 您可以在总计查询的计算的字段表达式中使用DAvg函数。如果您使用DAvg函数,则平均值对数据进行分组。如果您使用Avg函数,数据分组之前计算字段表达式中的值的平均值。

当您需要指定条件来限制DAvg函数执行对象的数据区域时,请使用DAvg函数计算控件中。例如,若要显示平均运费发送到加利福尼亚的货物的成本,将该文本框的ControlSource属性设置为以下表达式︰

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

如果您只想要计算平均值的域中的所有记录,请使用Avg函数。

如果您需要显示的字段不基于表单的记录源中,可以使用DAvg函数在模块、 宏或在窗体上计算控件。例如,假设您有一个基于订单表中,并且想要包括订单明细表中的数量字段以显示特定客户订购的平均数。DAvg函数可用于执行此计算和窗体上显示的数据。

提示

  • 如果您使用DAvg函数计算控件中,您可能想要将控件放在窗体页眉或页脚,以便该控件的值不重新计算每次移动到新的记录。

  • 如果expr派生自字段的数据类型是一个数字,则DAvg函数将返回双击数据类型。如果在计算控件中使用DAvg函数,以提高性能的表达式中包含数据类型转换函数。

  • 虽然您可以使用DAvg函数来确定外表中的字段的值的平均值,它可能更有效,可以创建包含的所有字段,您需要然后使窗体或报表基于该查询的查询。

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

示例

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

以下函数返回运在给定日期或之后的订单的平均运费。域为订单表。条件参数来限制结果集的基于给定的国家/地区和发货日期的记录。注意︰ 将关键字包含字符串分隔条件参数中的多个字段中。DAvg函数计算中包含的所有记录将都具有两个条件。

Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Double
AvgFreightCost = DAvg("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function

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

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

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

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

此信息是否有帮助?

谢谢您的反馈!

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

×