以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口文本控件输入,唯一性检查的方法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33796)

--  作者:alangoon
--  发布时间:2013/5/24 13:01:00
--  窗口文本控件输入,唯一性检查的方法

各位专家,请帮帮忙!

我是个新手,现有个问题想请教一下各位:

 

在邦定数据表的窗口文本控件中输入, 想在输入完成后 数据在当前列 检验是否唯一,唯一的话继续,否则将焦点放置在当前控件.

 

由于是第一次开发,所以很多东西需要多多学习,不过因为时间关系,先请教一下.

谢谢!


--  作者:Bin
--  发布时间:2013/5/24 14:17:00
--  
利用Datatables("XX").FIND 看是否找到列值为你刚才输入的值 的 这一行.  如果找到说明重复
--  作者:狐狸爸爸
--  发布时间:2013/5/24 15:51:00
--  

参考:

 

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

 

 


--  作者:alangoon
--  发布时间:2013/5/24 17:38:00
--  
以下是引用狐狸爸爸在2013-5-24 15:51:00的发言:

参考:

 

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

 

 

多谢指点.

其实我的原意是 希望:

1. 得到需要唯一值的文本框文本;

2.利用这个文本在相关表中搜索;

3.如果搜索到的值超过一个的话就视为重复;

4.提醒用家 重复;

5.焦点返回,不可移动焦点.

我试过您这个方法,是可行的.但是还有个问题,就是不知道怎样在窗口中得到这个信息并让焦点停留,如附件图:
此主题相关图片如下:wuliaoxinxi.jpg
按此在新窗口浏览图片


--  作者:狐狸爸爸
--  发布时间:2013/5/24 17:48:00
--  

设置在这个控件的Validatin事件中:

 

If e.sender.value IsNot Nothing Then
    If DataTables("表A").Select("编号 = \'" & e.sender.value & "\'").Count > 1 Then
        messagebox.show("重复了")
        e.cancel = True
    End If
End If


--  作者:alangoon
--  发布时间:2013/5/24 18:16:00
--  
以下是引用狐狸爸爸在2013-5-24 17:48:00的发言:

设置在这个控件的Validatin事件中:

 

If e.sender.value IsNot Nothing Then
    If DataTables("表A").Select("编号 = \'" & e.sender.value & "\'").Count > 1 Then
        messagebox.show("重复了")
        e.cancel = True
    End If
End If

强爆了,没有想到代码这么简单就实现了这个功能. 多谢了,我会加强学习的. 辛苦了,狐狸爸爸!向您致敬.