Foxtable(狐表)用户栏目专家坐堂 → 跨表条件统计自动更新


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

主题:跨表条件统计自动更新

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
跨表条件统计自动更新  发帖心情 Post By:2018/9/1 19:15:00 [只看该作者]

同过,编号和“合同号”这两列,条件统计跨表

Select Case e.DataCol.name
  Case "编号", "使用1", "合同号"
e.DataRow("派工已做1") = DataTables("派工").Compute("Sum(派工已做1)","编号 = '" & e.DataRow("编号") & "' and 合同号 = '" & e.DataRow("合同号") & "'")

End Select

代码没问题,但要重置“编号”列。代码怎么改,可以自动更新。(不需要每次都去重置列)由于笨看帮助还是不知其所以然。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/2 11:32:00 [只看该作者]

自动重置列不可以么?

 

http://www.foxtable.com/webhelp/scr/1587.htm

 

比如在派工表的datacolchanged事件重置列。


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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/10/9 14:20:00 [只看该作者]

Select Case e.DataCol.name
  Case "编号", "使用1", "合同号"
e.DataRow("派工已做1") = DataTables("派工").Compute("Sum(派工已做1)","编号 = '" & e.DataRow("编号") & "' and 合同号 = '" & e.DataRow("合同号") & "'")

End Select

 

这段代码,只能统计,加载了的数据,怎么实现:不用加载派工的所有数据,得到直接数据库后台统计结果呢?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/9 14:26:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/10/9 16:01:00 [只看该作者]


Dim  Val As  Integer
 Val =  DataTables("派工").SQLCompute("Sum(派工已做1)","编号 = '" & e.DataRow("编号") & "' and 合同号 = '" & e.DataRow("合同号") & "'")
Val =  DataTables("派工").SQLCompute("Sum(派工数量)","编号 = '" & e.DataRow("编号") & "' and 合同号 = '" & e.DataRow("合同号") & "'")
 Output.Show(Val)

 

放在datacolchanged,,但系统卡死。????那错了呢?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/9 16:05:00 [只看该作者]

每执行一次sqlcompute大概耗时0.5秒,你不能重置列,特别是数据量大的情况。

 

 


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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/10/9 17:07:00 [只看该作者]

我取消了重置列,

麻烦看看代码有什么问题?

代码还是没有执行出后台统计结果?。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/9 17:09:00 [只看该作者]

以下是引用manyifuwu在2018/10/9 17:07:00的发言:

我取消了重置列,

麻烦看看代码有什么问题?

代码还是没有执行出后台统计结果?。

 

什么意思?

 

1、你代码怎么写?写到哪里?

 

2、你修改【编号】列的数据以后触发datacolchanged事件,不统计数据?


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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/10/9 17:24:00 [只看该作者]

Dim  Val As  Integer
 Val =  DataTables("派工").SQLCompute("Sum(派工已做1)","编号 = '" & e.DataRow("编号") & "' and 合同号 = '" & e.DataRow("合同号") & "'")
Val =  DataTables("派工").SQLCompute("Sum(派工数量)","编号 = '" & e.DataRow("编号") & "' and 合同号 = '" & e.DataRow("合同号") & "'")
 Output.Show(Val)

 

放在客户资料  datacolchanged

派工表有     :交单     、派工数量、   派工已做。这3列

我希望   派工表  修改交单列后,    ,,,客户资料表里的:派工数量和已做1这两列   显示统计结果,(派工里不过加载没有都能的能计算),   。

[此贴子已经被作者于2018/10/9 17:24:08编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/9 17:26:00 [只看该作者]

你本来的代码,compute改成sqlcompute即可啊

 

Select Case e.DataCol.name
  Case "编号", "使用1", "合同号"
e.DataRow("派工已做1") = DataTables("派工").sqlCompute("Sum(派工已做1)","编号 = '" & e.DataRow("编号") & "' and 合同号 = '" & e.DataRow("合同号") & "'")

End Select


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