Foxtable(狐表)用户栏目专家坐堂 → 用代码设置表A第一列不重复


  共有10733人关注过本帖树形打印复制链接

主题:用代码设置表A第一列不重复

帅哥哟,离线,有人找我吗?
kevin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:359 积分:3403 威望:0 精华:0 注册:2011/8/2 20:53:00
用代码设置表A第一列不重复  发帖心情 Post By:2011/9/11 20:52:00 [只看该作者]

我知道内部表可以禁止重复,我需要用代码禁止第一列禁止重复(如果有重复数据,跳出提示)

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/11 21:02:00 [只看该作者]

参考这里的示例四:

 

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
kevin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:359 积分:3403 威望:0 精华:0 注册:2011/8/2 20:53:00
  发帖心情 Post By:2011/9/11 21:33: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
    End
If
End
If

 

每次我在“订单号”列录入的内容尽管不重复,亦都是弹出“此订单号已经存在!”,就更别说真正录入重复的内容能够进行阻止了。不知道是我哪出问题了,请狐爸帮忙看看这个代码。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/11 21:39:00 [只看该作者]

此代码铅垂百炼,不知道多少人在用。

你做个不行的例子传上来给我看看。


 回到顶部
帅哥哟,离线,有人找我吗?
kevin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:359 积分:3403 威望:0 精华:0 注册:2011/8/2 20:53:00
  发帖心情 Post By:2011/9/11 22:33:00 [只看该作者]

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

 

表A 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

 

结果还是没有禁止重复


 回到顶部
帅哥哟,离线,有人找我吗?
don
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2011/9/11 22:43:00 [只看该作者]

认真看看自己是设置DataColChanging吗?

 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2011/9/11 23:01:00 [只看该作者]

放在DataColChanged中也可以:

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


 回到顶部
帅哥哟,离线,有人找我吗?
lkqing
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:492 积分:4243 威望:0 精华:0 注册:2008/9/1 20:47:00
  发帖心情 Post By:2011/9/11 23:03:00 [只看该作者]

放在表A DataColChanged事件中也可以,代码稍改一下

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

不好意思,与上一楼撞车了

[此贴子已经被作者于2011-9-11 23:06:33编辑过]

 回到顶部