Foxtable(狐表)用户栏目专家坐堂 → [求助]多值汇总求和不对


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

主题:[求助]多值汇总求和不对

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/25 21:25:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目11.zip


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


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/26 9:24:00 [显示全部帖子]

肯定可以的,不要输入中文的逗号

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


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/26 11:07:00 [显示全部帖子]

我测试没有问题。复制进去的数据应该有问题,比如有多余的空格,回车等

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


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/27 8:36:00 [显示全部帖子]

加上日期条件即可

Dim dr As Integer = DataTables("批次登记").Compute("sum(数量)", "批次号='" & s & "' and 日期 >=#" & e.datarow("开始日期") & "# and .....") 

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


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/27 9:14:00 [显示全部帖子]

没看懂,列举数据举例说明一下

实例最终是什么效果

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


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/27 10:12:00 [显示全部帖子]

没看懂。请使用9楼实例举例说明,需要计算哪一行数据,最终是什么效果

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


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/27 10:34:00 [显示全部帖子]

还是没看懂,麻烦解释一下,每一行数据是怎么计算的

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


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/27 12:02:00 [显示全部帖子]

不需要解释业务逻辑,直接拿数据说话吧,比如汇总表第一行的数量1050是怎么计算来的?和批次登记的哪几行数据有关?

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


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/27 13:45:00 [显示全部帖子]

那不就是10楼的用法?如果不是,请举例说明

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


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/27 17:15:00 [显示全部帖子]

哦, 这个意思呀

If e.DataCol.Name = "批次号" Then 
    If e.DataRow.IsNull("批次号") Then 
        e.DataRow("数量") = Nothing 
    Else 
        Dim dj As Integer = 0 
        For Each s As String In e.DataRow("批次号").split(",") 
            Dim dr As Integer = DataTables("批次登记").Compute("sum(数量)", "批次号='" & s & "'") 
            dj = dj + dr
        Next 
        e.DataRow("数量") = dj 
        e.DataRow("开始日期") = DataTables("批次登记").Compute("min(日期)", "批次号 in ('" & e.DataRow("批次号").replace(",","','") & "')") 
    End If
End If

 回到顶部
总数 11 1 2 下一页