各位老师:在外部表导入数据时,如果有相同则部分导入数据,但现在有两行以上的相同数据,第一行以下的不能部分导入,代码如下标红的部分:
Dim d As Date = Date.Today
Dim d1 As Date = Tables("数据导入_Table2").Compute("max([日期])") '找出表中最大的日期并赋值
Dim dlg As new OpenFileDialog
dlg.Filter = "excel|*.xls;*.xlsx"
e.Form.Controls("Label3").Visible = True
If dlg.ShowDialog = DialogResult.OK Then
Dim Book As New XLS.Book (dlg.FileName)
Dim Sheet As XLS.Sheet = Book.Sheets(3)
Tables("部品质量管理").StopRedraw
Tables("数据导入_Table2").Filter = "日期 = # " & d & "# "
Dim nms() As String = {"编号图号","部件名称","交检","保管员","投料工位","适用车型","检验员","投料周数"}
For n As Integer = 2 To Sheet.Rows.Count-1 '如有表头,开始的数字为表头行数
Dim bh As String = sheet(n,0).Text
Dim dr As DataRow = DataTables("部品质量管理").Find("日期>= '" & d1 & "' And 日期<= '" & d & "' And 编号图号 = '" & bh & "' And 投料周数 Is Null ")
If dr Is Nothing Then '如果不存在同编号图号的部件
dr = DataTables("部品质量管理").AddNew()
dr("日期") = Date.Today
For m As Integer = 0 To nms.Length-1
dr(nms(m)) = Sheet(n,m).Value
Next
If dr("编号图号") <> "" Then
dr("序号") = 0
dr("判定") = "合格"
dr("检验区分") = "其它"
Else
dr("序号") = 3
End If
Else '如果存在同编号图号的部件
Dim cr As DataRow = DataTables("部品质量管理").Find("日期>= '" & d1 & "' And 日期<= '" & d & "' And 编号图号 = '" & bh & "' And 投料周数 Is Null ")
For m As Integer = 0 To nms.Length-1
cr(nms(1)) = Sheet(n,1).Value
cr(nms(2)) = Sheet(n,2).Value
cr(nms(3)) = Sheet(n,3).Value
cr(nms(4)) = Sheet(n,4).Value
cr(nms(5)) = Sheet(n,5).Value
cr(nms(7)) = Sheet(n,7).Value
Next
‘处理第二行相同的数据
' Dim er As DataRow = DataTables("部品质量管理").Find("日期>= '" & d1 & "' And 日期<= '" & d & "' And 编号图号 = '" & bh & "' And 投料周数 Is Null ")
' For m As Integer = 0 To nms.Length-1
' er(nms(1)) = Sheet(n,1).Value
' er(nms(7)) = Sheet(n,7).Value
' Next
End If
Tables("部品质量管理").ResumeRedraw
DataTables("部品质量管理").DeleteFor("[编号图号] Is Null ")
Next
End If
e.Form.Controls("Label3").Visible = False
DataTables("部品质量管理").Save()
With Tables("部品质量管理")
.Position = .Rows.Count - 1
End With
With Tables("数据导入_Table2")
.Position = .Rows.Count - 1
End With
表数据如下:有两个编号图号的部件名称。
此主题相关图片如下:微信图片_20200412223632.png
代码只能执行第一行的部分列导入。即两个编号图号相同的部件,部件名称只导入了一个,另一个相同编号图号的部件名称不一样。
执行后如下图:
此主题相关图片如下:微信图片_20200412223638.png
我想要的效果是,在导入时,如下图第二行也能部分列导入。即两个编号图号相同的部件,部件名称两个都导入,即部件名称相同。
如下图
此主题相关图片如下:微信图片_20200412223644.png
注:导入的数据表中,只有一行编号图号相同的:1203095-KW100,部件名称是一样的:T型卡箍!
请各位老师费心修改一下代码!谢谢!
[此贴子已经被作者于2020/4/12 22:43:18编辑过]