Foxtable(狐表)用户栏目专家坐堂 → 合并数据能否再快些


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

主题:合并数据能否再快些

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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
合并数据能否再快些  发帖心情 Post By:2015/11/12 14:57:00 [显示全部帖子]

代码如下:

Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim App As New MSExcel.Application
    try
        Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
        Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("总计划表")
        Tables("订单").ResumeRedraw()
        Tables("订单").StopRedraw()
        Dim nms() As  String = {"项目","下单日期","MK号","DO号","城市","客户","送货地址","物料代码","数量","体积","重量","收货时间","是否采购订单"}
       
        For n As Integer = 2 To ws.UsedRange.Rows.Count -1
            Dim r As  Row = Tables("订单").AddNew()
            For  m As  Integer = 0 To nms.Length - 1
                If Tables("订单").Cols(nms(m)).IsDate Then
                    Dim d As Date
                    If Date.TryParse(ws.cells(n,m+1).Text, d)
                        r(nms(m)) = d
                    End If
                Else
                    r(nms(m)) = ws.cells(n,m+1).Text
                   
                End If
            Next
        Next
        Tables("订单").ResumeRedraw()
       
    catch ex As exception
        msgbox(ex.message)
        app.quit
    End try
End If

 

 

效率有点低 一千多条数据一分钟 我还不知道怎么加进度条,另外怎样才能动态选择表 不局限是"总计划",并且可以自动读出表的列名称, 用对话框选择哪一列等于"订单"的哪一列


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/11/12 15:42:00 [显示全部帖子]

快了不少 进度条也弄出来了 接下来 怎样动态选择要合并的外部表 与用弹窗选择外部表的哪列合并到内部订单表的哪一列要怎么做  (因为多数外部订单都不是跟内部订单字段相同) 请给些参考或者指引


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/11/12 16:43:00 [显示全部帖子]

创建外部连接"test"失败 

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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/11/12 17:43:00 [显示全部帖子]

我的是office 2010版的

 


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/11/12 18:02:00 [显示全部帖子]

有改 也测试连接了 打开窗口点合并 找到要合并的表----->打开-----外部链接"test"失败----->没有"test"数据源


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/11/12 18:11:00 [显示全部帖子]

还是一样 打开关闭好多次了

 


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/11/13 10:24:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:desktop.zip

 

测试连接通过 合并时报创建外部"test"失败


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/11/13 11:41:00 [显示全部帖子]

那临时表进来之后 怎样不用在代码中写:

Dim sCols() As String = {"列名1", "列名2", "列名3"}
Dim
 dCols() As String = {"列名A", "列名B", "列名C"}

而是动态选择临时表的哪一列合并到数据表"订单"的哪一列 有示例吗,

 


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/11/13 13:11:00 [显示全部帖子]

临时表的列名与数据表的列名不相同


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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/11/13 16:17:00 [显示全部帖子]

我就是想动态指定 比如 临时表有 ID   数据表有DO号 动态指定 ID=Do  (因为临时表来至于客户订单 他们的列名跟数据表的不一样 )

但有的临时表 有编号   编号=DO 总不能针对没一张表都写一次吧 没有其他方法了吗


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