Foxtable(狐表)用户栏目专家坐堂 → 跨表统计


  共有6047人关注过本帖树形打印复制链接

主题:跨表统计

帅哥哟,离线,有人找我吗?
wqb1102
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:321 积分:2210 威望:0 精华:0 注册:2008/8/31 22:37:00
跨表统计  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:321 积分:2210 威望:0 精华:0 注册:2008/8/31 22:37:00
  发帖心情 Post By:2013/3/29 15:10:00 [只看该作者]

Sum(Child(出库_销售明细).付款金额, "[送货单号] = '" & e.NewValue & "'" )
如果用表达式是这样吗?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/29 15:25:00 [只看该作者]

这样就行:

 

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
wqb1102
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:321 积分:2210 威望:0 精华:0 注册:2008/8/31 22:37:00
  发帖心情 Post By:2013/3/29 15:35:00 [只看该作者]

多谢狐爸,我以为象易表一样设置条件。

 回到顶部