以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  住院号重复  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=71876)

--  作者:ayiken
--  发布时间:2015/7/19 23:23:00
--  住院号重复
我的住院号是不能重复的,写了如下代码,但这个代码“开发者”和“管理员”用户下能提示,其他普通用户输入住院号时不提示,因住院号重而复导致系统混乱
If e.DataCol.Name = "病人信息_住院号" Then
    Dim dr As DataRow 
    dr = e.DataTable.Find("病人信息_住院号= \'" & e.NewValue & "\'")
    If dr IsNot Nothing Then
        MessageBox.Show("此住院号已经存在!请重写住院号,Bul nomir burin bar , baskha nomir jazingiz!")
        e.Cancel = True
    End If
End If
如何处理?谢谢!

--  作者:ayiken
--  发布时间:2015/7/19 23:24:00
--  
如何禁止普通用户重复输入住院号?
--  作者:ayiken
--  发布时间:2015/7/19 23:26:00
--  
我的系统中普通用户只能看到自己部门的资料
--  作者:ayiken
--  发布时间:2015/7/20 0:08:00
--  
出现“子行具有多个父行”的错误,这些都是因普通用户输入引起的
--  作者:ayiken
--  发布时间:2015/7/20 9:16:00
--  
求救  请指示!!
--  作者:大红袍
--  发布时间:2015/7/20 9:27:00
--  
 你这段代码没有问题。如果出问题,做个例子上来测试
--  作者:大红袍
--  发布时间:2015/7/20 9:28:00
--  

或者试试

 

If e.DataCol.Name = "病人信息_住院号" Then
    Dim dr As DataRow 
    dr = e.DataTable.SqlFind("病人信息_住院号= \'" & e.NewValue & "\'")
    If dr IsNot Nothing Then
        MessageBox.Show("此住院号已经存在!请重写住院号,Bul nomir burin bar , baskha nomir jazingiz!")
        e.Cancel = True
    Else
        e.DataRow.Save
    End If
End If