版主,您好,使用上次您指导的函数,“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
你不要粘贴的时候做检查。你可以全部粘贴好后,弄一个保存按钮,去做检查,这样就只查1次数据库。
建议把数据放到execl里,然后使用代码导入,导入的时候检查。或者像2楼说的,粘贴后在统一检查
版主,您好:做了一个窗口,请问按钮中的代码如何编辑,目的:复制数据到”SN码信息“列后点击按钮就将值重复的行删除掉,谢谢!
粘贴的是怎么样的数据?是新增行后粘贴?还是新增保存后再粘贴?从第一行开始粘贴,还是从第一个空行开始粘贴
[此贴子已经被作者于2024/1/24 14:25:24编辑过]
版主,您好,目前操作步骤说明:
1、产线员工填写EXCEL表格内容;
2、我将表格内容复制并粘贴到软件中;
3、通过软件将SN码信息列的重复项删除掉(现实是SN码信息列重复项无法复制到SN码信息列同时有窗口提示,只是复制到粘贴过程时间非常慢,效率低)
版主,您好,麻烦您指导指导。谢谢!
代码如下:
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表格见附件,代码存放位置见附件,点击按钮后显示错误。