以文本方式查看主题

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

--  作者:tamama52
--  发布时间:2012/3/3 13:25:00
--  [求助]代码求助

狐爸,传统编辑方式(casestudy)里的那种,限制一列里不可出现重复数值的代码该怎么写?在列属性里设置不允许重复

不行的说


--  作者:tamama52
--  发布时间:2012/3/3 13:54:00
--  

If e.DataCol.name="编号" Then
Dim dr As DataRow
    dr = DataTables("荒料入库").Find("编号 = " & "\'" & e.DataRow("编号") & "\'" )
    If dr IsNot Nothing Then
    e.DataRow("编号")=Nothing
     messagebox.Show("已存在重复编号!")
Return
End If
End If

我在datachanged里编了段这个,不过发生了输啥都报重复的情况-0-


--  作者:mr725
--  发布时间:2012/3/3 14:13:00
--  
报什么错?
--  作者:tamama52
--  发布时间:2012/3/3 14:16:00
--  
报错没有报,就是不管在编号里输入什么值,都提示已存在重复编号
--  作者:mr725
--  发布时间:2012/3/3 14:20:00
--  

查看你表名、列名,搞不定发上来看看。

 

 

 Find("编号 = " & "\'" & e.DataRow("编号") & "\'" )
这个有点问题

[此贴子已经被作者于2012-3-3 14:20:56编辑过]

--  作者:tamama52
--  发布时间:2012/3/3 14:23:00
--  

表名 荒料入库  列名 编号

做到禁止编号列出现重复数值就可以了


--  作者:mr725
--  发布时间:2012/3/3 14:24:00
--  
Find("编号 = \'" & e.DataRow("编号") & "\'" )
--  作者:tamama52
--  发布时间:2012/3/3 14:28:00
--  
一样会报重复,编号列其实是文本列
--  作者:mr725
--  发布时间:2012/3/3 14:29:00
--  

做个例子上来吧

 


--  作者:mr725
--  发布时间:2012/3/3 14:30:00
--  

做个例子上来吧

 或者 用 e.NewValue 替换 e.DataRow("编号")  看看呢。