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


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

主题:跨表统计更新问题

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
跨表统计更新问题  发帖心情 Post By:2019/10/22 10:08:00 [显示全部帖子]

统计列名称不一样,不能即时更新,该怎么写?

统计表:
If e.DataCol.Name = "产品" Then 
    e.DataRow("销售总量") = DataTables("订单").Compute("Sum(数量)","[产品] = '" & e.NewValue & "'")
End
 
If


订单表:

If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    pr = 
DataTables("统计").Find("产品 = '" & e.DataRow("产品") & "'")
    If
 pr IsNot Nothing 
Then
        pr(
"销售总量")= pr("数量") + e.NewValue - e.OldValue
    End
 
If
End
 If


上述不能即时更新。请问该怎么写?

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2019/10/22 11:07:00 [显示全部帖子]


统计表:
If e.DataCol.Name = "产品" Then 
    e.DataRow("销售总量") = DataTables("订单").SQLCompute("Sum(数量)","[产品] = '" & e.NewValue & "'")
End
 
If

订单表:
Select
 Case e.DataCol.Name
    Case
 "数量"
        
Dim pr As DataRow
        pr = 
DataTables("统计").Find("产品 = '" & e.DataRow("产品") & "'")
        If
 pr IsNot Nothing Then
            DataTables
("统计").DataCols("产品").RaiseDataColChanged(pr)
        End
 If
End
 Select




如果统计表用compute,可以即时更新。但是用了SQLcompute就不能即时更新,是不是SQLCompute无法即时更新?

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2020/5/29 14:51:00 [显示全部帖子]

回复楼主,这个问题这样解决,


统计表:
If e.DataCol.Name = "产品" Then 
    e.DataRow("数量") = DataTables("订单").Compute("Sum(数量)","[产品] = '" & e.NewValue & "'")
   e.DataRow("销售总量")  = e.DataRow("数量"
End
 
If


订单表:

Select Case e.DataCol.Name
    Case
 "数量"
        
Dim pr As DataRow
        pr = 
DataTables("统计").Find("产品 = '" & e.DataRow("产品") & "'")
        If
 pr IsNot Nothing Then
            DataTables
("统计").DataCols("产品").RaiseDataColChanged(pr)
        End
 If
End
 Select
[此贴子已经被作者于2020/5/29 14:51:07编辑过]

 回到顶部