以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]禁止重复的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121571) |
-- 作者:81538475 -- 发布时间:2018/7/9 16:48:00 -- [求助]禁止重复的问题 用下面的代码在 项目名称 列禁止输入重复值 ,但是就无法undo了。undo 之后会提示此项目已存在,应该如何处理呢。 如果吧SQLfind 改成 FIND 可以解决后退的问题。但是会导致新的值与未加载出来的数据库内的名称重名。 If e.DataCol.Name = "项目名称" Then Dim dr1 As DataRow dr1 = e.DataTable.SQLFind("项目名称 = \'" & e.NewValue & "\'") If dr1 IsNot Nothing Then MessageBox.Show("此项目已存在!","温馨提示:") e.Cancel = True End If End If [此贴子已经被作者于2018/7/9 16:47:53编辑过]
|
-- 作者:81538475 -- 发布时间:2018/7/9 17:20:00 -- 老大们帮忙看看啊 |
-- 作者:有点甜 -- 发布时间:2018/7/9 17:35:00 -- sqlfind不会导致你不能用undo。如果不能用,说明你把表格保存了,保存以后自然不能undo。 |
-- 作者:81538475 -- 发布时间:2018/7/9 17:51:00 -- 不是不能用undo呀。 是用了之后会出发 MessageBox.Show("此项目已存在!","温馨提示:") |
-- 作者:有点甜 -- 发布时间:2018/7/9 18:11:00 -- 以下是引用81538475在2018/7/9 17:51:00的发言:
不是不能用undo呀。 是用了之后会出发 MessageBox.Show("此项目已存在!","温馨提示:")
修改undo的操作,把事件禁用一下,如
SystemRady = False \'这里执行undo的代码 SystemReady = True |
-- 作者:81538475 -- 发布时间:2018/7/9 18:22:00 -- 多谢了。 |