Foxtable(狐表)用户栏目专家坐堂 → 版主,您好,请教提高代码效率


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

主题:版主,您好,请教提高代码效率

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


加好友 发短信
等级:童狐 帖子:241 积分:2124 威望:0 精华:0 注册:2012/9/23 10:42:00
版主,您好,请教提高代码效率  发帖心情 Post By:2024/1/24 11:52:00 [只看该作者]

版主,您好,使用上次您指导的函数,“SN码信息”列不能重复,确保“SN码信息”列内容都是唯一值,目前功能实现了,就是每次粘贴≥500行数据后等半天(约2-5分钟)软件才完成粘贴动作(粘贴过程一直软件不能使用),请问是否还有其它代码能否提高录入数据效率,
If e.DataCol.Name = "SN码信息" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("SN码信息 = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        MessageBox.Show("此SN码信息已经存在!")
        e.Cancel = True
    End If
End If
图片点击可在新窗口打开查看

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


加好友 发短信
等级:六尾狐 帖子:1279 积分:7959 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2024/1/24 11:58:00 [只看该作者]

你不要粘贴的时候做检查。你可以全部粘贴好后,弄一个保存按钮,去做检查,这样就只查1次数据库。

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111374 积分:566934 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/24 12:06:00 [只看该作者]

建议把数据放到execl里,然后使用代码导入,导入的时候检查。或者像2楼说的,粘贴后在统一检查

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


加好友 发短信
等级:童狐 帖子:241 积分:2124 威望:0 精华:0 注册:2012/9/23 10:42:00
  发帖心情 Post By:2024/1/24 13:54:00 [只看该作者]

版主,您好:做了一个窗口,请问按钮中的代码如何编辑,目的:复制数据到”SN码信息“列后点击按钮就将值重复的行删除掉,谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111374 积分:566934 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/24 14:03:00 [只看该作者]

请上传实例说明

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


加好友 发短信
等级:童狐 帖子:241 积分:2124 威望:0 精华:0 注册:2012/9/23 10:42:00
  发帖心情 Post By:2024/1/24 14:22:00 [只看该作者]

版主,您好!谢谢您,费心了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多芯准直器插针质量追溯统计表.rar


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111374 积分:566934 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/24 14:24:00 [只看该作者]

粘贴的是怎么样的数据?是新增行后粘贴?还是新增保存后再粘贴?从第一行开始粘贴,还是从第一个空行开始粘贴
[此贴子已经被作者于2024/1/24 14:25:24编辑过]

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


加好友 发短信
等级:童狐 帖子:241 积分:2124 威望:0 精华:0 注册:2012/9/23 10:42:00
  发帖心情 Post By:2024/1/24 16:37:00 [只看该作者]

版主,您好,目前操作步骤说明:
1、产线员工填写EXCEL表格内容;
2、我将表格内容复制并粘贴到软件中;
3、通过软件将SN码信息列的重复项删除掉(现实是SN码信息列重复项无法复制到SN码信息列同时有窗口提示,只是复制到粘贴过程时间非常慢,效率低)
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:sn对应穿纤信息3.xlsx


 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111374 积分:566934 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/24 16:44:00 [只看该作者]

这种直接导就行了,没有必要复制来复制去的,参考:http://www.foxtable.com/webhelp/topics/2334.htm,看第三段代码

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


加好友 发短信
等级:童狐 帖子:241 积分:2124 威望:0 精华:0 注册:2012/9/23 10:42:00
  发帖心情 Post By:2024/1/25 11:08:00 [只看该作者]

版主,您好,麻烦您指导指导。谢谢!

代码如下:
Dim Book As New XLS.Book("c:\data\多芯插针.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("多芯插针").StopRedraw()
Dim nms() As String = {"SN码信息", "穿纤时间和人员", "穿纤时间", "人员", "备注1", "备注2", "黄色套管为已刮胶产品", "蓝色套管为多次穿纤产品", "ORT试验", "毛细管验证", "歪", "烘箱异常"}
For n As Integer = 1 To Sheet.Rows.Count - 1
    Dim bh As String = sheet(n, 0).Text
    Dim dr As DataRow = DataTables("多芯插针").Find("SN码信息 = '" & bh & "'")
    If dr Is Nothing Then '如果不存在同编号的订单
        dr = DataTables("多芯插针").AddNew()
    End If
    For m As Integer = 0 To nms.Length - 1
        dr(nms(m)) = Sheet(n, m).Value
    Next
Next
Tables("多芯插针").ResumeRedraw()
EXCEL表格见附件,代码存放位置见附件,点击按钮后显示错误。

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