以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  “禁止输入重复值”的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=72791)

--  作者:digger_deng
--  发布时间:2015/8/6 11:53:00
--  “禁止输入重复值”的问题

以下教程任然无法禁止重复值?比如:当在数据表中插入两行,禁止重复值的列可以插入两个空值,任然是重复值,但在SQL里主键是不能插入两个空值的

“禁止输入重复值

我们知道,列有禁止输入重复内容的属性,不过这个属性有局限,就是只有直接在表格中输入的时候才有效,如果你通过窗口输入或者是通过代码设置,同样可以输入重复内容。

禁止单列输入重复值

假定有个订单表,要求订单号列不能输入重复值,可以将这个表的DataColChanging事件代码设置为:

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”


--  作者:大红袍
--  发布时间:2015/8/6 12:26:00
--  

1、代码没有问题;

 

2、空值问题去保存事件控制

 

http://www.foxtable.com/help/topics/0628.htm