Foxtable(狐表)用户栏目专家坐堂 → 复制粘贴数据很慢怎么解决


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

主题:复制粘贴数据很慢怎么解决

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


加好友 发短信
等级:九尾狐 帖子:2232 积分:15257 威望:0 精华:0 注册:2015/7/18 10:10:00
复制粘贴数据很慢怎么解决  发帖心情 Post By:2018/6/28 8:18:00 [显示全部帖子]

我现在有大约40万行数据需要复制到软件中,每行为25个数据,每粘贴一行大约需要2秒钟,40万行数据约需要10天时间,实在是太慢了,有没有更好的办法加快速度,软件是局域内数据能够自动更新的。

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


加好友 发短信
等级:九尾狐 帖子:2232 积分:15257 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/6/28 9:15:00 [显示全部帖子]

 SystemReady = False
        Try
                      Dim dlg As New OpenFileDialog
            Dim Book As New XLS.Book(dlg.FileName)
            Dim Sheet As XLS.Sheet = Book.Sheets(0)
            Tables("商品采购明细").StopRedraw()
            '注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
            Dim nms() As String = {"日期","单位编号","单位名称","单据编号","单据摘要","单据类型","单据行号","商品编号","商品名称","单位","规格","剂型","经手人编号","经手人姓名","批号","生产日期","有效日期","采购数量","成本单价","成本金额"}
            '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
            For n As Integer = 1 To Sheet.Rows.Count -1
                Dim r As Row = Tables("商品采购明细").AddNew()
                For m As Integer = 0 To nms.Length - 1
                    r(nms(m)) = Sheet(n,m).Value
                Next
            Next
            Tables("商品采购明细").ResumeRedraw()
            
            
            
            
            
            
        Catch ex As Exception
            MessageBox.Show("追加数据失败")
        End Try
        SystemReady = True

 

 

上述代码直接提示“追加数据失败”是什么原因?


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


加好友 发短信
等级:九尾狐 帖子:2232 积分:15257 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/6/28 9:28:00 [显示全部帖子]

提示“打开存储文件失败”

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


加好友 发短信
等级:九尾狐 帖子:2232 积分:15257 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/6/30 10:43:00 [显示全部帖子]

执行大量数据操作时,设置一个按钮手动暂停所有代码,待完成时再手动启动所有代码,可以吗?


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


加好友 发短信
等级:九尾狐 帖子:2232 积分:15257 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/6/30 10:49:00 [显示全部帖子]

想恢复启动的时候按按钮还可以使用吗?

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


加好友 发短信
等级:九尾狐 帖子:2232 积分:15257 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/6/30 10:58:00 [显示全部帖子]

执行了SystemReady=false后,按按钮还能否使用?

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


加好友 发短信
等级:九尾狐 帖子:2232 积分:15257 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/6/30 11:07:00 [显示全部帖子]

以是在快捷菜单中设计的一段代码,为什么不管用了,这样不可以吗?

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


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


加好友 发短信
等级:九尾狐 帖子:2232 积分:15257 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/6/30 11:08:00 [显示全部帖子]

想暂停除了Syscmd.Edit.RepeatFill()以外所有代码怎么办?然后把它设计在菜单中

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


加好友 发短信
等级:九尾狐 帖子:2232 积分:15257 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/6/30 11:37:00 [显示全部帖子]

这个例子中快捷菜单行相关里有“标准项目2”就是按以上代码设计,可是不能用,你试一下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目30.foxdb


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


加好友 发短信
等级:九尾狐 帖子:2232 积分:15257 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2018/6/30 11:54:00 [显示全部帖子]

可以了

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