以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]已使用的一级不允许增加下级  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=64065)

--  作者:blsu33
--  发布时间:2015/2/4 11:30:00
--  [求助]已使用的一级不允许增加下级
有点甜老师,
还是类似的问题,这个问题以前没有问过您,是这样,部门编码分成递归的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

--  作者:Bin
--  发布时间:2015/2/4 11:46:00
--  
dr2 = DataTables("职员档案").Find("部门名称 like \'" & e.DataRow("编码名称") & "%\' and 部门名称 <> \'" &  e.DataRow("编码名称") & "\'") 
--  作者:blsu33
--  发布时间:2015/2/4 12:17:00
--  
bin老师,
   先谢谢您,但是按照这个代码,部门档案不能增加行了,烦您在帮忙看看。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:部门档案.rar


--  作者:blsu33
--  发布时间:2015/2/4 12:18:00
--  
想要达到是的这个已使用的部门不允许增加,不是整个表不允许增加了。
--  作者:Bin
--  发布时间:2015/2/4 13:59:00
--  
2楼不行?
--  作者:blsu33
--  发布时间:2015/2/4 16:00:00
--  
老师,
  跪求代码呀

--  作者:Bin
--  发布时间:2015/2/4 16:01:00
--  
2楼的代码不行么?
--  作者:blsu33
--  发布时间:2015/2/4 16:05:00
--  
恩 是的 我上传例子 老师 烦您在帮我看下 

特别是:哪一个部门被职员档案使用过了,该部门不允许增加上下级。
[此贴子已经被作者于2015-2-4 16:06:25编辑过]

--  作者:Bin
--  发布时间:2015/2/4 16:09:00
--  
好像没问题啊. 我输入01 他提示我不可以输入


--  作者:blsu33
--  发布时间:2015/2/4 16:11:00
--  
不是录入01 是录入0101 

还有 录入一条新部门05