以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求表达式或代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=15998)

--  作者:wjl-se
--  发布时间:2012/1/29 14:11:00
--  求表达式或代码
 

举例:

“订单表”(父表)和“开票明细”(子表)通过“订单编号”建立“开票关联”;

 

父表中编号为“001”的订单有20台车,在子表中的开票纪录有4笔:

2011-10-10开票5台

2011-10-20开票5台

2011-12-10开票5台

2012-01-15开票5台

 

我通过学习在父表中利用聚和函数sum (child (开票关联).开票数量)得到”001”订单的开票总数。

 

现在想请教各位老师,如何再加一个筛选条件,求得2011年10月份开票数量和2012年的开票数量。


--  作者:czy
--  发布时间:2012/1/29 14:17:00
--  
用表达式不行,用代码吧。
--  作者:wjl-se
--  发布时间:2012/1/29 14:24:00
--  
呃,开发篇的基础章节还没啃完呢,工作要急用,拖不起啊,俺是商业版用户,哪位老师帮帮忙,谢谢啦!!
--  作者:czy
--  发布时间:2012/1/29 14:41:00
--  

在开票明细表的DataColChanged事件中设置如下代码试试


Dim dr As DataRow = e.DataRow
Dim pr As DataRow = dr.GetParentrow("订单表")
If e.DataCol.Name = "数量" Then
    pr("数量") = DataTables("开票明细").Compute("Sum(数量)","订单编号 = \'" & dr("订单编号") & "\' And 开票日期 >= #2011-10-01#")
End If


--  作者:wjl-se
--  发布时间:2012/1/29 14:43:00
--  

好的,非常感谢!!