SQLCompute

DataTable的SQLCompute方法和Compute方法类似,不过Compute用于计算已经加载的数据,而SQLCompute用于计算后台所有数据。

语法:

SQLCompute(Expression, Filter)

Expression: 要计算的表达式,使用聚合函数进行统计。
Filter:    可选参数,用于设置计算条件,采用的是SQL语法,和常规表达式的语法有所不同,请参考:SQL表达式的语法差异

示例一

统计产品PD01的销售数量:

Dim Val As Integer
Val =
DataTables("订单").SQLCompute("Sum(数量)","产品 = 'PD01'")
Output.Show(Val)

不管PD01的订单是否加载,上面的代码都能得出正确的结果。

示例二

统计雇员EP01成交的订购数量超过500的订单数:

Dim cnt As Integer
cnt
= DataTables("订单").SQLCompute("Count(*)", "雇员 = 'EP01' And 数量 > 500")
Output
.Show("订单数:" & cnt)

示例三

和Compute不同,SQLCompute不能统计表达式列,因为表达式列在后台数据库并不存在。
不过没关系,因为SQLCompute可以直接对表达式进行统计,例如统计产品PD01的销售金额:

Dim Val As Double
Val =
DataTables("订单").SQLCompute("Sum(数量 * 单价 * (1 - 折扣))","产品 = 'PD01'")
Output
.Show(Val)

 

 


本页地址:http://www.foxtable.com/webhelp/topics/2897.htm