Foxtable(狐表)用户栏目专家坐堂 → 选择行计算


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

主题:选择行计算

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/12/1 15:36:00 [只看该作者]

太感谢你,真是我溢于言表,谢谢,给你添麻烦了,谢谢。

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/12/1 15:53:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:当月分别计算.table

能在请教一个问题吗?
如果只算当月编号分别的最后一行合计应该怎么算啊?
感谢,感谢 

图片点击可在新窗口打开查看此主题相关图片如下:360截图-9000375.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/1 16:10:00 [只看该作者]

Select Case e.DataCol.Name
    Case "项目编号","增加"
        Dim d As Date = e.DataRow("增加时间")
        d = new Date(d.year, d.Month, 1)
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " and 增加时间>=#" & d & "# and 增加时间<#" & d.AddMonths(1) & "#"
        drs = e.DataTable.Select(Filter)
        For Each dr As DataRow In drs
            Filter = "[_SortKey] < " & dr("_SortKey") & " and 增加时间>=#" & d & "# and 增加时间<#" & d.AddMonths(1) & "#"
            Dim Filter2 = "[_SortKey] < " & dr("_SortKey") & " And [项目编号] = '" & dr("项目编号") & "' and 增加时间>=#" & d & "# and 增加时间<#" & d.AddMonths(1) & "#"
            Dim fdr As DataRow = e.DataTable.find(filter, "_SortKey desc")
            Dim fdr2 As DataRow = e.DataTable.find(filter2, "_SortKey desc")
            If fdr IsNot Nothing Then
                If fdr2 Is Nothing Then
                    dr("合计") = dr("增加")  + fdr("合计")
                Else
                    dr("合计") = dr("增加")  + fdr("合计") - fdr2("增加")
                End If
            Else
                If fdr2 Is Nothing Then
                    dr("合计") = dr("增加")
                Else
                    dr("合计") = dr("增加")  - fdr2("增加")
                End If
            End If
        Next
End Select

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/12/1 16:48:00 [只看该作者]

感谢 感谢 ,可以把代码放到窗口的afterload吗?这样就可以加载窗口的时候就显示出来结果,感谢了,谢谢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/1 18:10:00 [只看该作者]

以下是引用yangwenghd在2017/12/1 16:48:00的发言:
感谢 感谢 ,可以把代码放到窗口的afterload吗?这样就可以加载窗口的时候就显示出来结果,感谢了,谢谢

 

重置列即可,如 http://www.foxtable.com/webhelp/scr/1587.htm

 


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/12/2 16:46:00 [只看该作者]

感谢 感谢 Label2还是有没变化呢,麻烦了
就是打开窗口的时候 窗口1的Label2等于 当月,项目编号,分别最后一行的合计,感谢 感谢,谢谢 

 回到顶部
帅哥,在线噢!
有点蓝
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107023 积分:544346 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/12/2 17:06:00 [只看该作者]

窗口afterload

Dim d1 As Date = new Date(Date.Today.Year,Date.Today.Month,1)
Dim dr As DataRow = DataTables("表B").Find("增加时间 >= #" & d1 & "# And 增加时间 < #" & d1.AddMonths(1) & "#","增加时间 desc")
If dr IsNot Nothing
    e.Form.Controls("Label2").text = dr("合计")
End If

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/12/2 22:56:00 [只看该作者]

感谢 感谢 感谢了,可以是合计吗?比如这个月是12月,然后计算项目编号分别不同的最后一行的合计,比如 12月份 有编号 1、2、3、12、3、354,然后就只计算出红色的编号行,麻烦了,感谢 感谢 。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/3 13:54:00 [只看该作者]

Dim d1 As Date = new Date(Date.Today.Year,Date.Today.Month,1)
Dim sum As Double = 0
For Each s As String In DataTables("表B").GetValues("项目编号", "增加时间 >= #" & d1 & "# And 增加时间 < #" & d1.AddMonths(1) & "#")
    sum += DataTables("表B").find("增加时间 >= #" & d1 & "# And 增加时间 < #" & d1.AddMonths(1) & "# and 项目编号 = '" & s & "'", "增加时间 desc")("增加")
Next
Forms("窗口1").Controls("Label2").text = sum

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/12/4 11:43:00 [只看该作者]

感谢 感谢 ,为什么再加上一个时间编号最大的条件还是没有变呢?
感谢 ,比如时间和项目编号都有相同的就只会选择相同的第一行, 可以是吧时间编号加上去吗?这样就会选择相同的最后一行,感谢 感谢 

Dim d1 As Date = new Date(Date.Today.Year,Date.Today.Month,1)
Dim sum As Double = 0
For Each s As String In DataTables("表B").GetValues("项目编号", "增加时间 >= #" & d1 & "# And 增加时间 < #" & d1.AddMonths(1) & "#")
    sum += DataTables("表B").find("增加时间 >= #" & d1 & "# And 增加时间 < #" & d1.AddMonths(1) & "# and 项目编号 = '" & s & "'", "时间编号 desc")("增加")
Next
Forms("窗口1").Controls("Label2").text = sum

 回到顶部
总数 25 上一页 1 2 3 下一页