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


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

主题:跨表统计编码问题

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
跨表统计编码问题  发帖心情 Post By:2017/1/10 15:43:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:实例.table

 

 

实例中有需求说明,请各位老师帮忙编码怎么写,谢谢。


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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/1/10 15:53:00 [只看该作者]

请各位老师帮忙,急用,谢谢

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/10 16:03:00 [只看该作者]

DataColChanged事件

 

If e.DataCol.name = "财务编码" OrElse e.DataCol.name = "类别" Then
    Dim dr As DataRow = e.DataRow
    Dim dt As DataTable
    If dr("类别") = "按入库" Then
        dt = DataTables("入库表")
    ElseIf dr("类别") = "按销售" Then
        dt = DataTables("销售表")
    End If
    Dim yearin1 As Double = dt.Compute("sum(数量)", "财务编码1 = '" & dr("财务编码") & "'")
    Dim yearin2 As Double = dt.Compute("sum(数量)", "财务编码2 = '" & dr("财务编码") & "'")
    Dim yearout1 As Double = dt.Compute("sum(数量)", "财务编码1 = '" & dr("财务编码") & "' and 财务1结清 = true")
    Dim yearout2 As Double = dt.Compute("sum(数量)", "财务编码2 = '" & dr("财务编码") & "' and 财务2结清 = true")
    dr("全年数量") = yearin1 + yearin2 - yearout1 - yearout2
End If


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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/1/10 16:10:00 [只看该作者]

有点色老师,这是全年数量的统计,那每个季度的编码怎么写呀,谢谢。

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/1/10 16:21:00 [只看该作者]

有点色老师帮忙呀,急用,谢谢。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/10 16:23:00 [只看该作者]

If e.DataCol.name = "财务编码" OrElse e.DataCol.name = "类别" Then
    Dim dr As DataRow = e.DataRow
    Dim dt As DataTable
    If dr("类别") = "按入库" Then
        dt = DataTables("入库表")
    ElseIf dr("类别") = "按销售" Then
        dt = DataTables("销售表")
    End If
    Dim yearin1 As Double = dt.Compute("sum(数量)", "财务编码1 = '" & dr("财务编码") & "'")
    Dim yearin2 As Double = dt.Compute("sum(数量)", "财务编码2 = '" & dr("财务编码") & "'")
    Dim yearout1 As Double = dt.Compute("sum(数量)", "财务编码1 = '" & dr("财务编码") & "' and 财务1结清 = true")
    Dim yearout2 As Double = dt.Compute("sum(数量)", "财务编码2 = '" & dr("财务编码") & "' and 财务2结清 = true")
    dr("全年数量") = yearin1 + yearin2 - yearout1 - yearout2
   
    Dim cs() As String = {"第一季度数量","第二季度数量","第三季度数量","第四季度数量"}
    For i As Integer = 0 To cs.Length - 1
        Dim filter As String = ""
        Dim d As Date
        d = new Date(2016, 3*i+1, 1)
        filter = " and 日期 >= #" & d & "# and 日期 < #" & d.AddMonths(3) & "#"
        Dim quarin1 As Double = dt.Compute("sum(数量)", "财务编码1 = '" & dr("财务编码") & "'" & filter)
        Dim quarin2 As Double = dt.Compute("sum(数量)", "财务编码2 = '" & dr("财务编码") & "'" & filter)
        Dim quarout1 As Double = dt.Compute("sum(数量)", "财务编码1 = '" & dr("财务编码") & "' and 财务1结清 = true" & filter)
        Dim quarout2 As Double = dt.Compute("sum(数量)", "财务编码2 = '" & dr("财务编码") & "' and 财务2结清 = true" & filter)
        dr(cs(i)) = quarin1 + quarin2 - quarout1 - quarout2
    Next
End If


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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/1/10 16:25:00 [只看该作者]

非常感谢有点色老师。

 回到顶部