以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何禁止三列电话均不重复?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=13653)

--  作者:yacity
--  发布时间:2011/10/21 14:33:00
--  如何禁止三列电话均不重复?

有三列 用于记录客户的电话 tel1,tel2,tel3,

如何保证三列电话均不重复?

比如 有一个客户 小王 电话 tel1是123456

那么tel1,tel2,tel3 再也不能输入123456,如何实现呢?


--  作者:狐狸爸爸
--  发布时间:2011/10/21 14:40:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目150.table


--  作者:yacity
--  发布时间:2011/10/21 14:47:00
--  

试过了,不行。

[此贴子已经被作者于2011-10-21 14:47:24编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/10/21 15:10:00
--  

我误解你的意思了,这样:

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目151.table


--  作者:walker
--  发布时间:2011/10/21 15:18:00
--  
以下是引用狐狸爸爸在2011-10-21 15:10:00的发言:

我误解你的意思了,这样:

 

 

 

 下载信息  [文件大小:292.0 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:管理项目151.table

 

打开就看到结果了,怎么看你是怎么做出来的?


--  作者:狐狸爸爸
--  发布时间:2011/10/21 15:25:00
--  
以下是引用walker在2011-10-21 15:18:00的发言:

 

打开就看到结果了,怎么看你是怎么做出来的?

 

 

代码在DataColChanging事件。

 

图片点击可在新窗口打开查看


--  作者:yacity
--  发布时间:2011/10/21 17:33:00
--  

我的意思是 第一列,第二列,第三列,总共三列,比如用来输入电话号码,那么这三列,供三列,只有一个唯一的电话号码,重复就不给录入了。

第一列所有的电话号码都不能重复,并且和第二列、第三列也不重复。

第二列所有的电话号码都不能重复,并且和第一列、第三列也不重复。

第三列所有的电话号码都不能重复,并且和第一列、第二列也不重复。

 

管理员给的代码貌似没有问题,

Select Case e.DataCol.Name
    Case "第一列","第二列","第三列"
        If e.NewValue > "" Then
            Dim dr As DataRow = e.DataRow
            Dim nms As String() = { "第一列","第二列","第三列" }
            For Each nm As String In nms
                If nm <> e.DataCol.name AndAlso dr(nm) = e.newvalue Then
                    e.Cancel = True

Messagebox.show("电话号码重复!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

                    Return
                End If
            Next
        End If
End Select

 

 

但是奇怪的是我还是输入了很多相同的数据,有时候有提示,有时候没有提示。

 

 


图片点击可在新窗口打开查看此主题相关图片如下:179.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-10-21 17:41:17编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/10/21 17:46:00
--  

将两个文件的代码组合一下,其中一段代码的And换成or即可:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目154.rar

 

希望仔细体会我帮你写的代码。


--  作者:yacity
--  发布时间:2011/10/23 16:23:00
--  

嗯!谢谢!


--  作者:y2287958
--  发布时间:2011/10/24 8:31:00
--  

If nm <> e.DataCol.name AndAlso dr(nm) = e.newvalue Then

请问以上代码中,红色部分一定要用吗?我折磨了一下不知道什么意思,请老师赐教。谢谢!