全部显示

DVar 方法

       

使用 DVar 函数可以估算指定记录集中一组值的方差。可以在 Visual Basic、、查询表达式、窗体或报表上的计算控件中使用 DVar 函数。

使用 DVar 函数可以计算一个总体样本的方差。例如,可以使用 DVar 函数计算一组学生考试成绩的方差。

expression.DVar(Expr, Domain, Criteria)

expression   必需。返回“Applies To”列表中的一个对象的表达式。

Expr  必需 String 型。用于标识要在其中计算方差的数值字段的表达式。可以是用来标识表或查询中字段的字符串表达式,也可以是执行字段中数据计算的表达式。在 expr 中,可以包含表中字段的名称、窗体上的控件、常量或函数。如果 expr 包括函数,则函数可以是内置的,也可以是用户定义的,但不能是另一域聚合函数或 SQL 聚合函数。expr 中的任何字段都必须是数值字段。

Domain  必需 String 型。字符串表达式,标识组成域的记录集。可以是一个表名称或查询名称。

Criteria  可选 Variant 型。可选的字符串表达式,用于限制 DVar 函数执行的数据范围。例如,criteria 通常等价于 SQL 表达式中的 WHERE 子句,只是不含 WHERE 关键字。如果省略 criteriaDVar 函数将在整个域计算 expr。任何包含在 criteria 中的字段必须同时也是 domain 中的字段,否则 DVar 函数将返回 Null

说明

如果 domain 引用的记录少于两条,或者如果满足 criteria 的记录少于两条,则 DVar 函数将返回 Null,表明无法计算方差。

在宏、模块、查询表达式或计算控件中使用 DVar 函数时,必须仔细构造 criteria 参数,以确保能够正确地进行计算。

可以在选择查询的“条件”行、在查询的计算字段表达式中,或在更新查询的“更新到”行中,用 DVar 函数指定条件。

注意   可以在总计查询的计算字段表达式中,使用 DVar 函数或 Var 函数。如果使用 DVar 函数,是先计算值后对数据分组;如果使用 Var 函数,则先对是数据分组而后再计算字段表达式中的值。

当需要指定 criteria 来限制函数执行的数据范围时,可在计算控件中使用 DVar 函数。例如,若要显示运到加州的订单的方差,可将文本框的 ControlSource 属性设为如下表达式:

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

如果只想计算 domain 中所有记录的标准方差,请使用 Var 函数。

注意   使用这些函数时,对 domain 中记录的未保存更改将不包括在内。如果要让 DVar 函数基于更改后的值,则必须先保存更改,方法是:单击“文件”菜单上的“保存记录”,将焦点移动到另一条记录上,或者使用 Update 方法。

示例

下面的示例返回运往英国的订单总体和总体抽样的方差估算值。域为“订单”表。criteria 参数将记录集的结果限制为“货主国家/地区”等于 UK 的记录。

Dim dblX As Double, dblY As Double
' Sample estimate.
dblX = DVar("[Freight]", "Orders", "[ShipCountry] = 'UK'")
' Population estimate.
dblY = DVarP("[Freight]", "Orders", "[ShipCountry] = 'UK'")

下一个示例在 criteria 参数中使用一个变量 strCountry 来返回估计值。请注意,字符串表达式中包含单引号,这样在进行字符串连接时,字面字符串 UK 将括在单引号中。

Dim strCountry As String, dblX As Double
strCountry = "UK"
dblX = DVar("[Freight]", "Orders", "[ShipCountry] = '" _
    & strCountry & "'")