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


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

主题:跨表统计问题

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
跨表统计问题  发帖心情 Post By:2020/6/10 12:11:00 [只看该作者]


If e.DataCol.Name = "编号" Then 

if e.DataRow("第一列") = true then
  e.DataRow("数量") = DataTables("表B").Compute("Sum(数量)","[编号] = '" & e.NewValue & "'")

else e.DataRow("第一列") = false then
  e.DataRow("数量") = DataTables("表B").Compute("Sum(总数量)","[编号] = '" & e.NewValue & "'")

 End If 


为什么     e.DataRow("数量") = DataTables("表B").Compute("Sum(数量)","[编号] = '" & e.NewValue & "'") 这个可以统计出来,
  而 e.DataRow("数量") = DataTables("表B").Compute("Sum(总数量)","[编号] = '" & e.NewValue & "'") 这个不能统计出来呢?改怎么修改?




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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/10 13:46:00 [只看该作者]

"第一列"是逻辑列?代码没有问题,没有数据说明没有符合条件的记录

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2020/6/10 14:06:00 [只看该作者]

是的,第一列是逻辑列。不知道为什么统计不了。用了另外一种方法,暂时解决了

if e.DataCol.Name = "编号" Then 
  e.DataRow("数量") = DataTables("表B").Compute("Sum(数量)","[编号] = '" & e.NewValue & "'")
  e.DataRow("总数量") = DataTables("表B").Compute("Sum(总数量)","[编号] = '" & e.NewValue & "'")
 End If 


If e.DataCol.Name = "第一列" Then
If e.DataRow("第一列") = true Then
e.DataRow("统计数量") = e.DataRow("数量")
Else If e.DataRow("第一列") = false Then
e.DataRow("统计数量") = e.DataRow("总数量")
End If 
End If 

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/10 14:36:00 [只看该作者]

不应该有问题的,试试

If e.DataCol.Name = "编号" Then
    If e.DataRow("第一列") = True Then
        e.DataRow("数量") = DataTables("表B").Compute("Sum(数量)","[编号] = '" & e.NewValue & "'")
    Else
        e.DataRow("数量") = DataTables("表B").Compute("Sum(总数量)","[编号] = '" & e.NewValue & "'")
    End If
End If

 回到顶部