回 帖 发 新 帖 刷新版面

主题:求助

我想在text1文本框中输入6个数字的号码,如:123456(字符型),然后查找表中是否存在相同号码,如果存在相同号码,则提示停止操作。我在text1的Keypress中加入代码:
select 表
locate all for 号码=thisform.pageframe1.page1.text1.value
if 号码=thisform.pageframe1.page1.text1.value 
    MESSAGEBOX("该号码已经存在,请停止操作。",64,"温馨提示") 
  else
    MESSAGEBOX("该号码不存在,请继续操作。",64,"温馨提示") 
endif 
但运行时,在文本框中输入一个数就出现提示,而不能继续输入数字。请教高手们是哪里错了。
谢谢。

回复列表 (共4个回复)

沙发

IF nKeyCode=13
    locate for ALLTRIM(号码)=ALLTRIM(thisform.pageframe1.page1.text1.value)
    if FOUND()
        MESSAGEBOX("该号码已经存在,请停止操作。",64,"温馨提示") 
      else
        MESSAGEBOX("该号码不存在,请继续操作。",64,"温馨提示") 
    endif 
ENDIF 

板凳

谢谢qjbzjp老师哈,问题解决了。

但问题又出现了:我输入不同号码回车后,表单上其他控件都不可访问。
如果我输入号码不回车仍然能进行前述查询问题的操作,代码应写在哪里呢?再次谢谢。

3 楼

试试: 
      MESSAGEBOX("该号码不存在,请继续操作。",64,"温馨提示") 
      go top

4 楼

谢谢。

使用该代码后仍然没解决问题。输入表中没有的号码回车后,表单中的其它控件都不能继续输入新的数据,而是点击文本框后出现第一条记录的内容。

我来回复

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