以文本方式查看主题

-  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=108262)

--  作者:xvkewen
--  发布时间:2017/10/19 10:17:00
--  禁止输入重复值

帮助里关于禁止输入重复值代码,在实际使用时发现,如果我的Datatable只加载了一部份数据 ,那么当前录入的单号还是有可以与未加载的数据重复的;、

 

后来我将Find改成SQLfind,虽然可以与后台数据库中的数量匹配,但是在Datatable中通过用Ctrl+C/Ctrl+v的复制粘贴的方式同样办录入重复值;

 

还有什么其他的方法可以同时兼顾到后台的数据库和前面的Datatable来判断数据是否重复呢?

 

 

If e.DataCol.Name = "订单号" Then
    Dim
dr As DataRow
    dr = e.
DataTable.Find("订单号 = \'" & e.NewValue & "\'")
   
If dr IsNot Nothing Then
        MessageBox.Show(
"此订单号已经存在!")
        e.Cancel =
True
    End
If
End
If


--  作者:有点甜
--  发布时间:2017/10/19 11:51:00
--  
If e.DataCol.Name = "订单号" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("订单号 = \'" & e.NewValue & "\'")
    If dr IsNot Nothing Then
        MessageBox.Show("此订单号已经存在!")
        e.Cancel = True
    Else
        dr = e.DataTable.sqlFind("订单号 = \'" & e.NewValue & "\'")
        If dr IsNot Nothing Then
            MessageBox.Show("此订单号已经存在!")
            e.Cancel = True
        End If
    End If
End If

--  作者:xvkewen
--  发布时间:2017/10/24 11:46:00
--  

搞定了,非常感谢