搜索A表中"字段1"的值合计条件“字段2”=X
把得到的值付给B表的“字段3”条件“字段”4=Y
怎么写查询
update B表
set 字段3=dsum('字段1','A表','字段2=X')
where 字段4=Y
DSum 函数
DSum 函数可用于计算一组指定记录(域)中的一组值的总和。可以在 Visual Basic、宏、查询表达式或计算控件 中使用 DSum 函数。
例如,可以在查询的计算字段表达式中通过 DSum 函数来计算某一段时间内特定雇员的总销售量。或者在计算控件中使用 DSum 函数来显示特定产品的流水销售总额。
DSum(expr, domain, [criteria])
DSum 函数包含以下参数:
参数 |
说明 |
expr |
表达式,用于标识被计算值的总和的数字字段。它可以是标识表或查询中的字段的字符串表达式,或者是对该字段中的数据进行计算的表达式。在 expr 中,可以包含表中的字段、窗体上的控件、常量或者函数的名称。如果 expr 包含函数,那么该函数可以是内置的或用户定义的,但不能是其他域聚合函数或 SQL 聚合函数。 |
domain |
字符串表达式,用于标识组成域的一组记录。它可以是不需要参数的查询的表名或查询名。 |
criteria |
可选的字符串表达式,用于约束对其执行 DSum 函数的数据的范围。例如,criteria 常常等价于 SQL 表达式中除去 WHERE 关键字的 WHERE 子句。如果 criteria 被忽略,DSum 函数将对整个域计算 expr。任何包含在 criteria 中的字段必须也是 domain 中的字段;否则 DSum 函数将返回 Null 值。 |
说明
如果没有记录满足 criteria 参数或者域中不包含记录,那么 DSum 函数会返回 Null 值。
不论是否在宏、模块、查询表达式或计算控件中使用 DSum 函数,都必须仔细构造 criteria 参数,以确保它将被正确计算。
可以使用 DSum 函数来指定这些情况下的条件:在查询的条件行中,在查询表达式内的计算字段中,或者在更新查询的“更新到”行中。
注释 可以将 DSum 和 Sum 函数用于总计查询中的计算字段表达式。如果使用 DSum 函数,将在数据分组之前计算值。如果使用 Sum 函数,则先进行数据分组,然后再计算字段表达式中的值。
需要显示不在窗体或报表的记录源中的字段的一组值的总和时,可以使用 DSum 函数。例如,假定有一个显示特定产品信息的窗体。可以在计算控件中使用 DSum 函数来随时统计产品的流水销售总额。
提示
如果需要在报表上某个控件中维持流水总和,假定所基于的字段包含在报表的记录源中,则可以使用该控件的 RunningSum 属性。通过 DSum 函数来维持窗体的流水总和。
注释 使用这些函数时,对 domain 内的记录的未保存更改不包括在内。如果希望使 DSum 函数基于更改的值,必须先通过单击“记录”菜单上的“保存记录”来保存更改,然后将焦点移动到其他记录,或者使用 Update 方法。