这样试试
DataTables("表A").DataCols.Add("标记", Gettype(Boolean))
DataTables("表B").DataCols.Add("标记", Gettype(Boolean))
For Each dr As DataRow In DataTables("表A").DataRows
For Each dr2 As DataRow In DataTables("表B").Select("单号 = '" & dr("单号") & "' And 编号 = '" & dr("编号") & "' And 名称 = '" & dr("名称") & "'")
If dr2 IsNot Nothing Then
dr2("标记") = True
dr("标记") = True
End If
Next
Next
If DataTables("表A").Compute("count(标记)","标记 <> true") = 0
DataTables("表B").DeleteFor("标记 = true")
Else
MessageBox.Show("不能删除!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
DataTables("表A").DataCols.Delete("标记")
DataTables("表B").DataCols.Delete("标记")