Foxtable(狐表)用户栏目专家坐堂 → 跨表统计后台数据


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

主题:跨表统计后台数据

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4307 威望:0 精华:0 注册:2019/1/13 10:12:00
跨表统计后台数据  发帖心情 Post By:2021/3/15 10:36:00 [显示全部帖子]

老师,我编写了跨表统计代码,问题:如果显示统计数据的表已经加载了某些行,则已加载的行统计正常,但是没加载的行就不执行统计,我想实现全部后台没加载的行也能统计。我是把被统计的表的数据用代码重置一下触发统计的,请您指导。
以下代码在被统计表的“datacolchangend”事件中
'-----------------------------自动统计数据------------------------
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

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4307 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2021/3/15 11:15:00 [显示全部帖子]

老师,我想实现后台跨表统计,如被统计的表数据有变动,但是显示统计数据的“合同信息”表没加载,如何在后台就相应的改动统计结果?

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4307 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2021/3/15 12:12:00 [显示全部帖子]

老师,看了,太难,没大用SQL,麻烦您在我的代码基础上修改一下行吗?被统计的表是“现金日记账”的“收款“列,谢谢!
[此贴子已经被作者于2021/3/15 12:12:47编辑过]

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4307 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2021/3/15 14:41:00 [显示全部帖子]

以下代码在“现金日记账”表的“datacolchangend”事件中,如果“价税合计”,改变,把合计数在“合同信息”表里相应改变。"合同信息"表datacolchaged事件没有代码
'-----------------------------自动统计数据------------------------
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

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4307 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2021/3/15 14:54:00 [显示全部帖子]

老师,有代码,还取了两个表的数。问题是被取数的表如果不加载,就没法取数,设置成后台取数就可以了。
'-----------------------自动统计-------------------------
If e.DataCol.Name = "序号" Then
    Dim Filter As String = "[合同序号] = '" & e.NewValue & "'"
    e.DataRow("收入") = DataTables("现金日记账").Compute("Sum(收入)", Filter)
    e.DataRow("预计成本利润_拨款") = DataTables("现金日记账").Compute("Sum(支出)", Filter)
    e.DataRow("已执行金额") = DataTables("莱矿总包合同").Compute("Sum(价税合计)", Filter)
End If

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4307 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2021/3/15 16:37:00 [显示全部帖子]

好了,老师,还得注意一个事,如果数值是公式要直接写入代码,帮助告诉我的。谢谢!

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4307 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2021/3/16 8:21:00 [显示全部帖子]

老师,还是不行。“现金日记账”和“合同信息”两个表都是设置的启动不加载。出纳员修改日记账并保存,当销售员打开合同信息时,相应数据不改变。请您指导。

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4307 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2021/3/16 9:21:00 [显示全部帖子]

老师,还是不行,和以前一个样,不同的客户端打开,不自动刷新数据。只有把现金日记账同时打开才统计,但是这样没意义,是不同的人操作。

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4307 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2021/3/16 10:04:00 [显示全部帖子]

老师,真的不行。出纳修改后保存,销售打开合同,数据还是没统计上。

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4307 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2021/3/16 10:06:00 [显示全部帖子]

老师,真的不行,出纳修改后保存退出,销售打开合同数据没更新。

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