1、自己补充完整
For Each r As Row In Tables("表A").Rows
Dim dr As DataRow = DataTables("表B").Find("第一列='" & r("第一列") & "' and 第二列 ='" & r("第二列") & "'")
If dr Is Nothing Then
dr = DataTables("表B").AddNew
dr("第一列") = r("第一列")
End If
Next
DataTables("表A").Save()
DataTables("表B").Save()
2、去掉表B的DataColChanging事件代码
DataColChanged事件改为
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "第一列","第二列","第三列","第四列"
If dr.IsNull("第一列") = False AndAlso dr.IsNull("第一列") = False AndAlso dr.IsNull("第三列") = False AndAlso dr.IsNull("第四列") = False Then
If e.DataTable.Compute("Count([_Identify])","第一列 = '" & dr("第一列") & "' And 第二列 = '" & dr("第二列") & "' And 第三列 = '" & dr("第三列") & "' And 第四列 = '" & dr("第四列") & "'") > 1 Then
MessageBox.Show("已经存在相同型号和规格的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
e.DataRow(e.DataCol.Name) = e.OldValue '取消输入
Else
dr("第六列") = dr("第一列") & "" & dr("第二列") & "" & dr("第三列") & "" & dr("第四列")
End If
End If
End Select