| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 422 人关注过本帖
标题:IF else语句疑问
只看楼主 加入收藏
meboy88
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-19
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:8 
IF else语句疑问
程序代码:
SET TALK OFF 
CLEAR
count to Tj for bpdfxz="W1"
IF (TJ=0)
=MESSAGEBOX("今日无含W1标志数据",64)
ELSE
USE E:\test\&NYR\BJ.dbf
LOCATE ALL for left(BPDFDM,1)="E" or  left(BPDFDM,2)="06" 
CONTINUE
   IF found()
SCAN FOR left(BPDFDM,1)="E" or  left(BPDFDM,2)="06"
replace  bpdfxz with " " 
ENDSCAN
=MESSAGEBOX("含有W1标志情况,请检查BJ后,再报送!",64)
    ELSE
=MESSAGEBOX("今日无需要数据",64)  
   ENDIF
ENDIF
CLOSE ALL
CLEAR EVENTS
QUIT


请帮看下 我这条语句“    ELSE
=MESSAGEBOX("今日无需要数据",64)”,结果出不来,我的想法是,账户开头不是E和06且标志是w1,提示"今日无需要数据",但是执行下来,不会有提示。仍然按提示“含有W1标志情况,请检查BJSBP后,再报送!",64”执行
搜索更多相关主题的帖子: 数据 标志 IF left MESSAGEBOX 
2023-09-08 16:17
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:789
专家分:1165
注 册:2021-10-13
收藏
得分:2 
你的continue的位置是不是不对啊。。。
2023-09-08 16:37
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:707
专家分:2833
注 册:2018-3-13
收藏
得分:2 
CONTINUE 惹的祸把

这家伙很懒,啥也没留下
2023-09-08 17:34
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:2 
将代码按缩进格式调整,这样会更容易看出代码的逻辑关系。

SET TALK OFF
CLEAR
count to Tj for bpdfxz="W1"
IF (TJ=0)
    =MESSAGEBOX("今日无含W1标志数据",64)
ELSE
    USE E:\test\&NYR\BJ.dbf
    LOCATE ALL for left(BPDFDM,1)="E" or  left(BPDFDM,2)="06"
    CONTINUE
    IF found()
        SCAN FOR left(BPDFDM,1)="E" or  left(BPDFDM,2)="06"
            replace  bpdfxz with " "
        ENDSCAN
        =MESSAGEBOX("含有W1标志情况,请检查BJ后,再报送!",64)
    ELSE
        =MESSAGEBOX("今日无需要数据",64)  
    ENDIF
ENDIF
CLOSE ALL
CLEAR EVENTS
QUIT



活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2023-09-09 06:53
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1089
专家分:2682
注 册:2015-12-30
收藏
得分:2 
LOCATE ALL for left(BPDFDM,1)="E" or  left(BPDFDM,2)="06"
* 这里可能找到一条,此时eof()=.F.
CONTINUE
* 这是找了下一条,也许就找不到了,此时eof()=.T.
把CONTINUE去掉试试
2023-09-09 08:02
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:789
专家分:1165
注 册:2021-10-13
收藏
得分:0 
以下是引用hu9jj在2023-9-9 06:53:57的发言:

将代码按缩进格式调整,这样会更容易看出代码的逻辑关系。

SET TALK OFF
CLEAR
count to Tj for bpdfxz="W1"
IF (TJ=0)
    =MESSAGEBOX("今日无含W1标志数据",64)
ELSE
    USE E:\test\&NYR\BJ.dbf
    LOCATE ALL for left(BPDFDM,1)="E" or  left(BPDFDM,2)="06"
*!*    CONTINUE
    IF found()
        SCAN FOR left(BPDFDM,1)="E" or  left(BPDFDM,2)="06"
            replace  bpdfxz with " "
        ENDSCAN
        =MESSAGEBOX("含有W1标志情况,请检查BJ后,再报送!",64)
    ELSE
        =MESSAGEBOX("今日无需要数据",64)  
    ENDIF
    continue &&放这里。。。
ENDIF
CLOSE ALL
CLEAR EVENTS
QUIT

2023-09-09 13:56
meboy88
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-19
收藏
得分:0 
变了continue的位置,还是不行。。。。
2023-09-11 09:22
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:707
专家分:2833
注 册:2018-3-13
收藏
得分:0 
有那么麻烦吗?这样试试

...
USE E:\test\&NYR\BJ.dbf
LOCATE ALL For (left(BPDFDM,1) <> "E" and left(BPDFDM,2) <> "06" and bpdfxz = 'W1'
If found()
    =MESSAGEBOX("今日无需要数据",64)  
ELSE
    =MESSAGEBOX("含有W1标志情况,请检查BJ后,再报送!",64)
ENDIF
...

[此贴子已经被作者于2023-9-11 09:53编辑过]


这家伙很懒,啥也没留下
2023-09-11 09:49
meboy88
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-5-19
收藏
得分:0 
以下是引用csyx在2023-9-11 09:49:17的发言:

有那么麻烦吗?这样试试

...
USE E:\test\&NYR\BJ.dbf
LOCATE ALL For (left(BPDFDM,1) <> "E" and left(BPDFDM,2) <> "06" and bpdfxz = 'W1'
If found()
    =MESSAGEBOX("今日无需要数据",64)  
ELSE
    =MESSAGEBOX("含有W1标志情况,请检查BJ后,再报送!",64)
ENDIF
...

已解决,谢谢。
2023-09-11 10:37
快速回复:IF else语句疑问
数据加载中...
 
   



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

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