以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  跨表统计  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=30514)

--  作者:wqb1102
--  发布时间:2013/3/29 13:35:00
--  跨表统计
当“销售明细”表中的“付款金额”列发生变动时,“出库”表中的"已付"列中相同"送货单号"的行由“销售明细”表中的“付款金额”列计算得出
下面的公式要如何修改:
If e.DataCol.Name = "付款金额"
    Dim Filter As String = "[送货单号] = \'" & e.DataRow("送货单号") & "\'"
    Dim drs As List(Of DataRow) = DataTables("出库").Select(Filter)
    For Each dr As DataRow In drs
        dr("已付") = DataTables("销售明细").Compute("Sum(付款金额)","[送货单号] = \'" &
e.NewValue & "\'")
    Next
End If


--  作者:狐狸爸爸
--  发布时间:2013/3/29 14:34:00
--  

你不是写好了吗,最多稍微改下:

 

If e.DataCol.Name = "付款金额"
    Dim Filter As String = "[送货单号] = \'" & e.DataRow("送货单号") & "\'"
    Dim dr As DataRow = DataTables("出库").find(Filter)
    If dr IsNot Nothing Then
        dr("已付") = DataTables("销售明细").Compute("Sum(付款金额)","[送货单号] = \'" & e.NewValue & "\'")
    End If
End If

 

也许这种统计,用关联和表达式更合理,更方便,更简单。


--  作者:wqb1102
--  发布时间:2013/3/29 15:10:00
--  
Sum(Child(出库_销售明细).付款金额, "[送货单号] = \'" & e.NewValue & "\'" )
如果用表达式是这样吗?

--  作者:狐狸爸爸
--  发布时间:2013/3/29 15:25:00
--  

这样就行:

 

Sum(Child(出库_销售明细).付款金额)

 

看帮助一定要按顺序,头一两遍可以不求甚解,第三遍开始要将每个例子实际操作演练一遍,不明白的就上论坛求助。
三遍之后才开始做系统,先设计好表,想做什么功能,就做什么功能,遇到问题在帮助找答案,找不到的在论坛提问,不断遇到问题,不断解决问题,慢慢就熟悉了。
此外一定要先掌握《使用指南》,然后再看《开发指南》


--  作者:wqb1102
--  发布时间:2013/3/29 15:35:00
--  
多谢狐爸,我以为象易表一样设置条件。