一段代码用到了 两个 SCAN......ENDSCAN,CASE....ENDCASE,FOR....ENDFOR
设计的意愿是:当isOK =1 时,能跳出类别表的循环,返回到产品表继续处理下一条记录
但经测试,用 EXIT 好象不能退出当前的循环,无法回到第一层(即产品表)
求热心人解惑帮助,谢谢!
代码如下(代码已作删减,仅作思路表述):
SELECT 产品表
GO TOP
SCAN
this_cpmc = ALLTRIM(cpmc)
SELECT 类别表
GO TOP
SCAN
this_lbmc= ALLTRIM(pzlbmc)
this_tag = ALLTRIM(lb_tag)
DO CASE
CASE OCCURS(";",this_tag) >0
fuHao_tally = OCCURS(";",this_tag) &&获得 “;”号的个数
tag_count = 0
*--开始截取关键字
FOR tag_sum = 1 TO fuHao_tally
isok = 0
isok = thisForm.截取关键字(lo_tag,this_cpmc)
IF isok = 1
EXIT &&跳出截取关键字
ENDIF
ENDFOR
*--- 结束截取关键字------------------------
IF isok = 1
MESSAGEBOX("找到关键字")
*---退出类别表的循环,跳到产品表继续处理下一条产品记录
EXIT
ENDIF
CASE OCCURS("_",this_tag) >0 AND OCCURS(";",this_tag) =0
isOK = 0
isOK = ThisForm.截取关键字(this_tag,this_cpmc)
IF isOK = 1
EXIT &&退出类别表的循环,跳到产品表继续处理下一条记录
ELSE
LOOP &&返回类别表跳到下条类别记录
ENDIF
OTHERWISE
IF OCCURS(this_tag,this_cpmc)=1
EXIT
ELSE
Loop
ENDIF
ENDCASE
SELECT 类别表
ENDSCAN
SELECT 产品表
ENDSCAN