Foxtable(狐表)用户栏目专家坐堂 → 高速合并、保存的速度太慢,试过论坛上的方法都无效


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

主题:高速合并、保存的速度太慢,试过论坛上的方法都无效

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


加好友 发短信
等级:幼狐 帖子:94 积分:862 威望:0 精华:0 注册:2017/7/9 3:59:00
高速合并、保存的速度太慢,试过论坛上的方法都无效  发帖心情 Post By:2018/8/31 15:00:00 [只看该作者]

在项目中的本地表使用高速合并速度很慢,保存表的速度也很慢,数据行大概为9000行。
检查过全局代码、全局函数、表事件datacolchanged、全局表事件。
都没有效果,本地表高速合并、保存9000行需要大概15分钟的时间。
试过:
SystemReady = False
'追加数据代码
SystemReady = True
的方式,依然无效。速度还是很慢。

我重新新建了一个空项目,直接高速导入一张表,速度很快,然后把这张表清空行,只保留表格式。然后进行高速合并,速度也很快。
求老师指点

导入按钮代码为:
SystemReady = False
Try
DataTables("分仓库存").DataRows.Clear
Tables("导入数据_Table1").DataSource = DataTables("分仓库存")
Dim dlg As new OpenFileDialog
dlg.Filter = "excel|*.xls"
If dlg.ShowDialog = DialogResult.OK Then
Dim mg As New Merger
mg.SourcePath = dlg.FileName
mg.Format = "excel" '指定格式
mg.SourceTableName = "数据段1$" '指定要合并的表
mg.DataTableName = "分仓库存" '指定接收数据的表
mg.Merge() '开始合并
End If
DataTables("分仓库存").Save
DataTables("本地关联表").DataRows.Clear

Catch ex As Exception
MessageBox.Show("追加数据失败")
End Try
SystemReady = True

[此贴子已经被作者于2018/8/31 15:09:01编辑过]

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


加好友 发短信
等级:幼狐 帖子:94 积分:862 威望:0 精华:0 注册:2017/7/9 3:59:00
  发帖心情 Post By:2018/8/31 15:04:00 [只看该作者]

任务管理器里狐表是直接高速合并就变成“无响应”了
狐表是最新版的

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


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

1、高速合并的代码参考

 

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

 

2、保存慢,参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=98689&replyID=680089&skin=1

 

如果是sqlserver数据库,可以直接写入数据库 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=109019&skin=0

 

3、大数据量,可以参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=100317&skin=0

 


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


加好友 发短信
等级:幼狐 帖子:94 积分:862 威望:0 精华:0 注册:2017/7/9 3:59:00
  发帖心情 Post By:2018/8/31 15:25:00 [只看该作者]

老师,我说的不是这个。
现在的问题是,在新建的项目高速合并很快,在我这里项目高速合并很慢。
表都是本地表,不是SQL表。

想找的原因是什么,不然这个系统导入几张表都一个小时了。

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


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

以下是引用magus1123在2018/8/31 15:25:00的发言:
老师,我说的不是这个。
现在的问题是,在新建的项目高速合并很快,在我这里项目高速合并很慢。
表都是本地表,不是SQL表。

想找的原因是什么,不然这个系统导入几张表都一个小时了。

 

1、清空你【表属性】各个事件的代码,特别是 datacolchanged、datacolchanging、drawcell等事件的代码;

 

2、压缩项目 http://www.foxtable.com/webhelp/scr/0006.htm

 

3、使用自带的【高速合并】菜单合并数据,不要用你自己写的代码


 回到顶部