标题:奇了怪了,查找按钮下的代码,居然找不到
只看楼主
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:680
专家分:1287
注 册:2009-3-1
结帖率:100%
已结贴  问题点数:20 回复次数:18 
奇了怪了,查找按钮下的代码,居然找不到
程序代码:
LOCAL cx
cx=''
cx=ALLTRIM(thisform.text1.Value)

 IF EMPTY(cx) or !LEN(cx)=8
   MESSAGEBOX('请仔细核对所输的报名序号!!!',64,'提示:')
   RETURN

 ENDIF

 SELECT bmk

 GO top

 LOCATE for xh=cx

 IF FOUND()
   thisform.txtXx11.SetFocus
   thisform.refresh
   thisform.Activate

 ELSE
   MESSAGEBOX('没找到,请仔细核对所输的报名序号!!!',64,'提示:')
   thisform.text1.SetFocus

 ENDIF


以上是查找按钮下的代码


 我输入一个明明存在的报名序号,点查找,就出现一个“没找到,请仔细核对所输的报名序号!!!”的提示,关了360也一样

环境为:VFP8.0 + WIN7 Home版。请大侠们诊断下
搜索更多相关主题的帖子: 按钮 居然 
2013-05-05 18:44
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:10 
没什么问题
2013-05-05 18:49
bccn201304
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:56
专家分:154
注 册:2013-4-21
得分:5 
LOCATE for xh=cx
改一下
LOCATE for allt(xh)==cx
还得注意字母大小写


2013-05-05 19:12
mzq
Rank: 2
等 级:论坛游民
威 望:1
帖 子:28
专家分:95
注 册:2013-3-22
得分:0 
回复 楼主 xs591222
LOCAL cx
cx=''
cx=ALLTRIM(thisform.text1.Value)
IF EMPTY(cx) or LEN(cx)!=8
   MESSAGEBOX('请仔细核对所输的报名序号!!!',64,'提示:')
   RETURN
ENDIF
SELECT bmk
GO top
LOCATE for ALLTRIM(xh)=cx
IF FOUND()
   thisform.txtXx11.SetFocus
   thisform.refresh
   thisform.Activate
ELSE
   MESSAGEBOX('没找到,请仔细核对所输的报名序号!!!',64,'提示:')
   thisform.text1.SetFocus
ENDIF
2013-05-05 21:11
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:5 
按理说,他的LOCATE FOR Xh=Cx没有什么大问题。因为Cx赋值时已经挤压掉了头尾多余空格,而Xh字段即使比它长,但只要所有内容头部没有空格的话,就可以正常使用的。
2013-05-05 21:19
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
不学调试问问题,就永远有问不完的问题,回答者也永远在乱猜。

授人以渔,不授人以鱼。
2013-05-05 21:56
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
设置断点,将等号前后的变量仔细比较,定能找出原因。

活到老,学到老! http://www. E-mail:hu-jj@
2013-05-06 07:39
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:0 
对的,一定要学会“监视”和“跟踪”这两个窗口的基本用法。
2013-05-06 09:15
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:0 
4楼已经找出问题所在了:
LOCATE for ALLTRIM(xh)=cx

相互学习,互相交流,共同提高。
2013-05-06 11:10
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:0 
如果真是4楼所说的问题,那这个案例的原始表的Xh字段数据有问题。原因我已经在5楼解释过了。要么,还有一种特殊情况:输入Cx控件值时,内容的当中不小心嵌入了空格。但从程序上看,有判断该控件内容8位数长度的代码,所以,这种可能性不大。

[ 本帖最后由 taifu945 于 2013-5-6 15:51 编辑 ]
2013-05-06 15:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406265-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019529 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved