Foxtable(狐表)用户栏目专家坐堂 → 再提重复失效的问题,请教了!


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

主题:再提重复失效的问题,请教了!

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


加好友 发短信
等级:婴狐 帖子:50 积分:418 威望:0 精华:0 注册:2012/11/13 14:02:00
再提重复失效的问题,请教了!  发帖心情 Post By:2012/11/30 9:57:00 [只看该作者]

在表中的列设置中设置禁止重复有一定的局限性,因此根据帮助,在表中事件的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

 

功能已经实现,无论是控件,还是直接操作,都不会重复了。但有一个小问题,如果在控件中修改到重复值时,会报两次错。虽然不影响使用,但感觉还是有些奇怪,问有没有办法解决?

 

 

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


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


加好友 发短信
等级:婴狐 帖子:50 积分:418 威望:0 精华:0 注册:2012/11/13 14:02:00
  发帖心情 Post By:2012/11/30 10:01:00 [只看该作者]

上面的附件没打包。再传个。

 

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

 


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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2012/11/30 10:15:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:婴狐 帖子:50 积分:418 威望:0 精华:0 注册:2012/11/13 14:02:00
  发帖心情 Post By:2012/11/30 10:17:00 [只看该作者]

大哥,里面设计了一个窗口,你打开窗口看看啊。

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/30 10:39:00 [只看该作者]

以下是引用独孤九箭在2012-11-30 10:17:00的发言:
大哥,里面设计了一个窗口,你打开窗口看看啊。

木有看到错误。

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


加好友 发短信
等级:婴狐 帖子:50 积分:418 威望:0 精华:0 注册:2012/11/13 14:02:00
  发帖心情 Post By:2012/11/30 10:47:00 [只看该作者]

是这样的,当你在控件中改了有重复的值后,按下回车键或Tab键时(目前只测试了这两个键)会出现两次报错。

 


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/30 10:54:00 [只看该作者]

 反复测试,木有发现错误提示。

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


加好友 发短信
等级:婴狐 帖子:50 积分:418 威望:0 精华:0 注册:2012/11/13 14:02:00
  发帖心情 Post By:2012/11/30 11:03:00 [只看该作者]

好吧,我把例子做得稍微完整一些。再次上传,没有添加任何代码,只是起动了窗口,并在窗口再添加了一个文本控件,用于输入第二列。

 

请在第一个框中输入一个重复的值,如当前是1111,后面有2222,3333,你可以输入一个2222,或3333,然后按回车,或者是Tab. 这时就会有两次报错。

 

我说过并不影响功能的实现。

 

 

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


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/30 12:18:00 [只看该作者]

 呃,这样说吧。你按下tab键,就相当于在表中按下了tab键,也就是焦点离开了这个表格,触发事件。然后你文本框的焦点离开了,也会触发这个事件。

 回到顶部
帅哥哟,离线,有人找我吗?
独孤九箭
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:50 积分:418 威望:0 精华:0 注册:2012/11/13 14:02:00
  发帖心情 Post By:2012/11/30 12:44:00 [只看该作者]

是的,原因我也想到了,只是无法解决,没关系,不影响使用。以后再想其他办法,看看能否在控件用代码来替代表事件。谢谢啦。


 回到顶部