以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  为什么可以输入重复的订单号?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13464)

--  作者:qqdgm5316
--  发布时间:2011/10/13 10:05:00
--  为什么可以输入重复的订单号?

订单(datatable)

订单编号         日期

D1                2011-10-13

D2                2011-9-23

D3                2011-10-13

订单(table)按日期加裁

D1                2011-10-13

D3                2011-10-13

不希望有重复的订单号,可是在“订单”的datacolchanging事件中却显示“ok”(增加输入订单D2)

If e.DataCol.Name = "订单编号" Then
    Dim dr As DataRow 
    dr = e.DataTable.Find("订单编号 = \'" & e.NewValue & "\'")

\'    dr=DataTables("订单信息").Find("订单编号=\'" & e.NewValue & "\'")     (试验也一样的结果)
    If dr IsNot Nothing Then
        e.Cancel=True
    Else
    messagebox.Show("ok")
    End If
End If


--  作者:狐狸爸爸
--  发布时间:2011/10/13 10:09:00
--  

你这个代码只判断已经加载的数据,d2没有加载,自然就认为d2不存在。

这种情况需要用SQL语句判断才行。

 

这种编号没有必要输入,应该自动生成,建议看看:

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

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