以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 高速合并、保存的速度太慢,试过论坛上的方法都无效 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=124154) |
-- 作者:magus1123 -- 发布时间: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 -- 发布时间:2018/8/31 15:04:00 -- 任务管理器里狐表是直接高速合并就变成“无响应”了 狐表是最新版的
|
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2018/8/31 15:25:00 -- 老师,我说的不是这个。 现在的问题是,在新建的项目高速合并很快,在我这里项目高速合并很慢。 表都是本地表,不是SQL表。 想找的原因是什么,不然这个系统导入几张表都一个小时了。
|
-- 作者:有点甜 -- 发布时间: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、使用自带的【高速合并】菜单合并数据,不要用你自己写的代码 |