Foxtable(狐表)用户栏目专家坐堂 → Table、副表和SQLTable问题求助


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

主题:Table、副表和SQLTable问题求助

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


加好友 发短信
等级:童狐 帖子:219 积分:1687 威望:0 精华:0 注册:2016/4/14 9:45:00
Table、副表和SQLTable问题求助  发帖心情 Post By:2019/1/4 9:39:00 [只看该作者]

1、有表1(有列A、B、C、D、E、F......等几十列,10万行左右数据,还会继续增加),副表若干(分别取表1中的相关列),每个副表分别都在相对应的单独窗口,运行起来到还正常,但数据量一上来就很慢很卡;

2、在阅读了帮助和搜索了论坛贴后后,感觉把窗口中的副表换成SQLTable对速度有所帮助,现在的问题:

     (1) SQLTable是否对运行速度提升会有所帮助,要怎么用才好?

     (2) 换成SQLTable后窗口打开时间长了很多,但打开后运行还算快,这是正常的吗?

     (3) 在SQLTable中,逻辑列显示不一样了,表达式列没有了,也没得选,表1中的DataColChanged事件代码也不起作用了,表样式也没有了;

     (4) 在SQLTable中进行编辑修改后,表1没有相应变动,用副表则会,这是为什么?

    水平和理解能力有限,请版主指教!


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


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

1、数据量越大越卡,这是是肯定的。你可以分页显示表数据。

 

2、建议你还是用副本表吧。sqltable你不会控制。


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


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

副本表慢,是不是你currentChanged等事件写了代码导致的?具体有多慢,发实例上来测试。

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


加好友 发短信
等级:童狐 帖子:219 积分:1687 威望:0 精华:0 注册:2016/4/14 9:45:00
  发帖心情 Post By:2019/1/4 10:06:00 [只看该作者]

副表currentChanged事件是写了代码,那也只是统计人数用的,就几行代码,这也会影响?

 

If Forms("中高级工考核").Opened Then
    Forms("中高级工考核").Controls("总人数").Text = e.Table.Compute("count(姓名)")
    Forms("中高级工考核").Controls("初级工").Text = e.Table.Compute("count(姓名)", "鉴定等级 = '初级工'")
    Forms("中高级工考核").Controls("中级工").Text = e.Table.Compute("count(姓名)", "鉴定等级 = '中级工'")
    Forms("中高级工考核").Controls("高级工").Text = e.Table.Compute("count(姓名)", "鉴定等级 = '高级工'")
    Forms("中高级工考核").Controls("技师").Text = e.Table.Compute("count(姓名)", "鉴定等级 = '技师'")
    Forms("中高级工考核").Controls("高级技师").Text = e.Table.Compute("count(姓名)", "鉴定等级 = '高级技师'")
    Forms("中高级工考核").Controls("男").Text = e.Table.Compute("count(姓名)", "性别 = '男'")
    Forms("中高级工考核").Controls("女").Text = e.Table.Compute("count(姓名)", "性别 = '女'")
End If

上述代码基本每个副表的currentChanged事件都写了,就这几行

[此贴子已经被作者于2019/1/4 10:07:11编辑过]

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


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

以下是引用lisheng1971在2019/1/4 10:06:00的发言:
副表currentChanged事件是写了代码,那也只是统计人数用的,就几行代码,这也会影响?

 

具体卡顿的实例,发上来测试一下。


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


加好友 发短信
等级:童狐 帖子:219 积分:1687 威望:0 精华:0 注册:2016/4/14 9:45:00
  发帖心情 Post By:2019/1/4 10:31:00 [只看该作者]

打开窗口时间不算,我所说的卡顿是指打开窗口之后,鼠标点选表的任意行或单元格会有明显的停顿,点选窗口中的任意一个复选组合框进行筛选查询时也会的明显的卡顿,这是正常的吗?


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


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

以下是引用lisheng1971在2019/1/4 10:31:00的发言:

打开窗口时间不算,我所说的卡顿是指打开窗口之后,鼠标点选表的任意行或单元格会有明显的停顿,点选窗口中的任意一个复选组合框进行筛选查询时也会的明显的卡顿,这是正常的吗?

 

不正常,上传具体实例测试。


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


加好友 发短信
等级:童狐 帖子:219 积分:1687 威望:0 精华:0 注册:2016/4/14 9:45:00
  发帖心情 Post By:2019/1/4 11:57:00 [只看该作者]

1、我的项目中总共也就3、4个表,且称之为表1、表2、表3、表4,除了表1,其它的表都不存在副表,每个表我都设置放在单独的窗口中;

2、运行项目如果只打开1个或2个副表窗口,运行还算正常,点选表的任意行什么的还不会卡顿很明显,再多开几个副表窗口,卡顿就明显了;

3、表1目前有10万行,60列左右,副表每个也基本上有5-6万行。每个副表都有几列(如姓名、身份证号码、工作单位、批次等)都是从表1中共用的,副表总列数不等;

4、表1所在窗口的复选组合框没有反应(窗口中的表不是副表),而另一个窗口中的表2(不是副表,也没有副表)类似的代码设置又能起作用,这又是为什么?

 

注:表1 的DataColChanged事件目前写了些代码,完全写好的话可能量比较大,主副表的currentChanged事件都差不多,就那几行代码,用来计算人数的。

 

相应的实例不是很好做,清空或减少数据量,运行又很好!

[此贴子已经被作者于2019/1/4 11:58:06编辑过]

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


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

删除一些敏感数据,保留10万行的数据发上来测试。不然无法测试。

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


加好友 发短信
等级:童狐 帖子:219 积分:1687 威望:0 精华:0 注册:2016/4/14 9:45:00
  发帖心情 Post By:2019/1/4 13:13:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:我的项目0104.rar

 

删除了3、4万行数据及一些列数据;删除了另外几个表及窗口;劳烦版主给看看,我这个项目是不是有什么问题?


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