回 帖 发 新 帖 刷新版面

主题:避免输入编号重复问题

高手,你好,我写一个表单,在上面有几个文本框,现在在存盘前要先判断一下某个编号是否已经存在。
我用了以前帖子上的 go top
 loca for allt(编号)==allt(thisform.text1.vlaue)
if !eof()
appen blan
replace 编号 with thisform.text1.vlaue
else
messagebox("")
endif
thisform.text1.setfocus
现在问题是我输入重复的编号,也能存盘,信息框不会出现。

回复列表 (共5个回复)

沙发

if !eof() ---> if !found()

板凳


我改用!FOUND()
可现在的问题是,不重复的编号也会显示信息框,表示编号输入重复了。

3 楼

在文本框绑定到字段的情况下,建议不要用locate加Found()判断是否有重复值,这样导致指针移动,使判断出错。

解决办法请试一试梅子论坛我回复你的帖子。

4 楼


谢谢3楼的,我用你在梅子论坛留下的代码试了,通过了,万分感激,不过在VALID中不可以用THISFORM。TEXT1。SETFOCUS,我把这一行去了,没什么关系吧?

5 楼

很高兴你的问题得到解决。
其实在TextBox的Valid中执行Return命令即可确保焦点不会离开文本框。
THISFORM.TEXT1.SETFOCUS本意也是想让文本框不失去焦点,因此这条命令是多余的,同时也会像你说的还会产生错误。

我来回复

您尚未登录,请登录后再回复。点此登录或注册