有点甜老师,
还是类似的问题,这个问题以前没有问过您,是这样,部门编码分成递归的2级 如果一级已经在职员档案中使用,那么这个一级不允许增加二级,其他的可以。下列代码怎么优化,烦您帮忙改下;
举例 部门档案 正则 2+2 位 已经存在 01 财务部 ,已在职员档案中使用了01 财务部,现在,01财务部下增加 0101 出纳部 ,提示不允许在增加0101 出纳部,因为上级已经使用
Select Case e.DataCol.Name
Case "编码名称"
Dim dr1 As DataRow
Dim dr2 As DataRow
dr1 = e.DataTable.Find("编码名称 = '" & e.NewValue & "'")
If dr1 IsNot Nothing Then
MessageBox.Show("部门名称重复是否正确!","请确认")
e.Cancel = True
Else
dr1 = DataTables("职员档案").Find("部门名称 = '" & e.OldValue & "'")
If dr1 IsNot Nothing Then
MessageBox.Show("已在职员档案中使用,不能重命名","提示")
e.Cancel = True
End If
End If
dr2 = DataTables("职员档案").Find("部门名称 like '" & e.DataRow("编码名称") & "%'") 这段代码导致整个表不能再增加数据了,想要达到判断上级已经使用的话,不许增加二级
If dr2 IsNot Nothing Then
Messagebox.Show("上级编码名称已使用,不能增加下级!","提示")
e.Cancel=True
End If
end Select