你用的表达式计算,要统计某个日期之前的库存,只需加载这个日期之前的出库和入库数据即可,例如要得到1月31日之前的库存,只可以做个按钮,代码为:
Dim dic As new Dictionary(of String,String)
For Each dc As DataCol In DataTables("库存查询InquiryStock").DataCols
If dc.Expression > "" Then
dic.Add(dc.name,dc.Expression)
dc.Expression = ""
End If
Next
DataTables("入库Handlein").LoadFilter = "收货日期ReceivingDate <= #1/31/2013#"
DataTables("出库Handleout").LoadFilter = "发货日期DeliveryDate <= #1/31/2013#"
DataTables("入库Handlein").Load()
DataTables("出库Handleout").Load()
For Each key As String In dic.keys
DataTables("库存查询InquiryStock").DataCols(key).Expression = dic(key)
Next
注意为了提供速度,在加载数据之前,我们去掉了表达式列的表达式,加载数据之后,重新恢复表达式。
理由:
http://www.foxtable.com/help/topics/1935.htm