Foxtable(狐表)用户栏目专家坐堂 → 求助:重置列太慢


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

主题:求助:重置列太慢

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


加好友 发短信
等级:一尾狐 帖子:426 积分:4608 威望:0 精华:0 注册:2015/11/23 21:29:00
求助:重置列太慢  发帖心情 Post By:2016/4/30 12:24:00 [只看该作者]

老师:五一好!

表中几乎全是跨表引用,和跨表统计的,分页加载每页十五行,点击刷新按钮,刷新按钮代码为:重置列代码,发现重置一页要半分钟。

有没有更好的办法呢?

多谢

 


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/30 14:07:00 [只看该作者]

统计数据建议还是用统计表来做http://www.foxtable.com/help/topics/2314.htm

或者利用用sql生成查询表http://www.foxtable.com/help/topics/2307.htm

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


加好友 发短信
等级:狐精 帖子:3358 积分:24758 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/4/30 14:07:00 [只看该作者]

能用sql的还是用sql吧 瞬间完成


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


加好友 发短信
等级:一尾狐 帖子:426 积分:4608 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/4/30 15:13:00 [只看该作者]

查询表好像不能修改和引用的,哎!

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/30 16:04:00 [只看该作者]

引用没有问题

把统计和修改混为一体,本身逻辑就有问题

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


加好友 发短信
等级:一尾狐 帖子:426 积分:4608 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/5/2 12:00:00 [只看该作者]

重置一行要6秒多,分页加载5行重置需要32秒;

我不知道用查询表怎么做,因为表与表之间都是需要用到相互之间的平均值呀,合计值呀,汇总,行数值等


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


加好友 发短信
等级:狐精 帖子:3358 积分:24758 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/2 12:39:00 [只看该作者]

sql 可以做直接统计的啊  我最长的sql统计代码有20多行

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/2 14:14:00 [只看该作者]

以下是引用刘异在2016/4/30 12:24:00的发言:

老师:五一好!

表中几乎全是跨表引用,和跨表统计的,分页加载每页十五行,点击刷新按钮,刷新按钮代码为:重置列代码,发现重置一页要半分钟。

有没有更好的办法呢?

多谢

 

 

你是不是在DataColChanged事件写了sqlFind、sqlCompute之类的代码?这样肯定慢。

 

建议你单独写一个按钮,先把需要的数据加载出来,在find和compute。


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


加好友 发短信
等级:一尾狐 帖子:426 积分:4608 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/5/2 22:52:00 [只看该作者]

Select Case e.DataCol.Name
    Case "生产日期","部门名称","班别","操作员","机台"
        e.DataRow("当班生产合格米数") = DataTables("厚边印刷生产日报表").sqlCompute("Sum(生产用料_合格米数)","[班别] = '" & e.DataRow("班别") & "' and [部门名称] = '" & e.DataRow("部门名称") & "'and [生产日期] = #" & e.DataRow("生产日期") & "# ")
End Select

老师好:ACC数据源,像这样的跨表统计,可不可以用SQL进行统计呢?
多谢!


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/3 9:03:00 [只看该作者]

这样每一行都会重复计算5次,效率非常低,至少也要加上非空的判断。

建议还是早Access中创建一个统计查询,通过查询表获取统计消息,然后不要在DataColChanged做,而是加载完毕后再查询统计赋值

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