Foxtable(狐表)用户栏目专家坐堂 → 请问:数据合并是否有更快的方法?


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

主题:请问:数据合并是否有更快的方法?

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
请问:数据合并是否有更快的方法?  发帖心情 Post By:2012/11/11 18:22:00 [显示全部帖子]

请问:数据合并是否有更快的方法?

本人试了一下,导入和导出数据时,130000条记录大约各运行1-2秒,而合并时45000条记录合并到85000条的记录中大约120秒-150秒。

 

另外:130000条记录统计时间大约15秒,时间是否太长,如何才能减少统计时间。

[此贴子已经被作者于2012-11-11 18:29:46编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2012/11/11 20:05:00 [显示全部帖子]

我用的是下列代码,放在按钮中,使用还可以,烦请各位老师再看一下有何不足之处。

 

'导出当天数据
Dim ex As New Exporter
ex.SourceTableName = "坯布信息" '指定导出表
ex.filepath = "C:\foxtable\Trial\坯布管理\Reports\坯布信息.mdb" '指定目标文件
If FileSys.FileExists(ex.FilePath) Then '如果目标文件已经存在
    FileSys.DeleteFile(ex.FilePath) '则删除之
End If
ex.Export() '开始导出

 

 

'合并access文件:

Dim mg As New Merger
mg.SourcePath = "C:\foxtable\Trial\坯布管理\Reports\坯布信息.mdb"
mg.SourceTableName = "坯布信息"  '坯布信息.mdb中的表
mg.DataTableName = "坯布输入"
mg.Merge


 '合并后删除access文件:

Filesys.DeleteFile("C:\foxtable\Trial\坯布管理\Reports\坯布信息.mdb") '合并后删除文件


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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2012/11/13 17:17:00 [显示全部帖子]

谢谢

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2012/11/16 7:42:00 [显示全部帖子]

谢谢。我设计了分页加载,但是,1、累计结果是只累计显示的行数。不能后台统计。

代码如下:

 

DataTables("坯布统计表").DataRows.Clear() '清除原来的数据
For Each nm() As String In DataTables("坯布输入").GetUniqueValues("","产品名称","年","月")
    Dim dr  As DataRow = DataTables("坯布统计表").AddNew()
    Dim ft As Date = new Date(Date.Today.Year,Date.Today.Month,1)

    dr("年") = nm(1)
    dr("月") = nm(2)
    dr("产品名称") = nm(0)
   
    dr("下机坯布_本日") = DataTables("坯布输入").compute("Sum(匹数)","产品名称 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 = #" & Date.Today & "#")
    dr("下机坯布_累计") = DataTables("坯布输入").compute("Sum(匹数)","产品名称 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
    dr("产量_本日") = DataTables("坯布输入").compute("Sum(总长)","产品名称 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 = #" & Date.Today & "#")
    dr("产量_累计") = DataTables("坯布输入").compute("Sum(总长)","产品名称 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
    dr("扣分_本日") = DataTables("坯布输入").compute("Sum(扣分)","产品名称 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 = #" & Date.Today & "#")
    dr("扣分_累计") = DataTables("坯布输入").compute("Sum(扣分)","产品名称 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
    dr("重量_本日") = DataTables("坯布输入").compute("Sum(总重)","产品名称 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 = #" & Date.Today & "#")
    dr("重量_累计") = DataTables("坯布输入").compute("Sum(总重)","产品名称 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
 Next

 

 

2、表设置了开始不显示代码[_Identify] Is Null ,但是目录树出现也不显示,就无法加载。

[此贴子已经被作者于2012-11-16 7:42:11编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2012/11/16 20:04:00 [显示全部帖子]

谢谢,根据提示已经解决

 回到顶部