Foxtable(狐表)用户栏目专家坐堂 → [求助]已使用的一级不允许增加下级


  共有3201人关注过本帖平板打印复制链接

主题:[求助]已使用的一级不允许增加下级

帅哥哟,离线,有人找我吗?
blsu33
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]已使用的一级不允许增加下级  发帖心情 Post By: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

 回到顶部
总数 14 1 2 下一页