Foxtable(狐表)用户栏目专家坐堂 → [求助]求一段条件求和的代码


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

主题:[求助]求一段条件求和的代码

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


加好友 发短信
等级:幼狐 帖子:159 积分:1466 威望:0 精华:0 注册:2020/5/21 16:23:00
[求助]求一段条件求和的代码  发帖心情 Post By:2020/8/5 15:40:00 [显示全部帖子]

大家好!想要下面这个结果:

当前行的“单位”+“姓名”在之前的记录里没有出现过的话:“累计金额”=“当月金额”。
否则,当前行“累计金额”=累计至当前行所有记录里符合“单位”+“姓名”的“当月金额”之和。

图片点击可在新窗口打开查看

先诚心谢谢啦图片点击可在新窗口打开查看


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


加好友 发短信
等级:幼狐 帖子:159 积分:1466 威望:0 精华:0 注册:2020/5/21 16:23:00
  发帖心情 Post By:2020/8/5 16:41:00 [显示全部帖子]

蓝大好 我依葫芦画瓢 改了其中一段 不成功T_T 可以麻烦您帮忙改一下么 谢谢您啦图片点击可在新窗口打开查看

Select Case e.DataCol.Name
    Case "当月金额"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [单位] = '" & mr("单位") & "' And [姓名] = '" & mr("姓名") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then
            mr("累计金额") = mr("当月金额")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [单位] = '" & mr("单位") & "' And [姓名] = '" & dr("姓名") & "'", "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("累计金额") = drs(i)("当月金额")
        Next
End Select
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:159 积分:1466 威望:0 精华:0 注册:2020/5/21 16:23:00
  发帖心情 Post By:2020/8/5 22:31:00 [显示全部帖子]

蓝大好 我把文档里下半段抄过来改完了 请问下 这句可以简化么

If e.DataCol.Name =  "单位" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Or e.DataCol.Name =  "姓名" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue  Then

我写成下面这样会报错T_T
If e.DataCol.Name =  ("单位" or "姓名”) AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue


先谢过您啦图片点击可在新窗口打开查看




 回到顶部