VFP编程中DO while.not.eof()嵌套错误,求教,应该如何修改
SETTALKOFFMESSAGEBOX("正在自动生成损益数据,请稍等!",48)SELE1USEzzSELE2USEsybGOTOPDOwhile.not.eof()...
SET TALK OFF
MESSAGEBOX("正在自动生成损益数据,请稍等!",48)
SELE 1
USE zz
SELE 2
USE syb
GO TOP
DO while.not.eof()
mkmbh=ALLT(kmbh)
l=LEN(mkmbh)
DO case
CASE l=3
SELE 1
GO TOP
LOCA FOR mkmbh=allt(kmbh)
IF FOUN()
IF b->bz='s'
a=dffs
ELSE
a=jffs
ENDIF
ELSE 2
REPL bys WITH a
CASE l=6
DIME sz(2)
i=1
DO WHILE i<=2
SELE 1
GO top
LOCA for SUBS(mkmbh,3*i-2,3)=ALLT(kmbk)
IF FOUND()
IF b->bz='s'
sz(i)=dffs
ELSE
sz(i)=jffs
ENDIF
ELSE
sz(i)=0
ENDIF
i=i+1
ENDDO
SELE 2
REPL bys WITH sz(1)-sz(2)
CASE l=1
r=RECN()
SUM bys TO a FOR ys='+'
SUM bys TO b FOR ys='-'
GO r
REPL bys WITH a-b
ENDCASE
SELE 2
SKIP
ENDDO
CLOSE DATA
MESSAGEBOX("生成损益结束!",48)
RETU
如果可以解决,我会额外提高悬赏值 展开
MESSAGEBOX("正在自动生成损益数据,请稍等!",48)
SELE 1
USE zz
SELE 2
USE syb
GO TOP
DO while.not.eof()
mkmbh=ALLT(kmbh)
l=LEN(mkmbh)
DO case
CASE l=3
SELE 1
GO TOP
LOCA FOR mkmbh=allt(kmbh)
IF FOUN()
IF b->bz='s'
a=dffs
ELSE
a=jffs
ENDIF
ELSE 2
REPL bys WITH a
CASE l=6
DIME sz(2)
i=1
DO WHILE i<=2
SELE 1
GO top
LOCA for SUBS(mkmbh,3*i-2,3)=ALLT(kmbk)
IF FOUND()
IF b->bz='s'
sz(i)=dffs
ELSE
sz(i)=jffs
ENDIF
ELSE
sz(i)=0
ENDIF
i=i+1
ENDDO
SELE 2
REPL bys WITH sz(1)-sz(2)
CASE l=1
r=RECN()
SUM bys TO a FOR ys='+'
SUM bys TO b FOR ys='-'
GO r
REPL bys WITH a-b
ENDCASE
SELE 2
SKIP
ENDDO
CLOSE DATA
MESSAGEBOX("生成损益结束!",48)
RETU
如果可以解决,我会额外提高悬赏值 展开
3个回答
2015-11-30
展开全部
这一句单摆独放没有问题,这要看上下文,也许不赖这一句。哦,对了,有个叫做调试器的东西可以解决这个问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第16行的IF FOUN() ,没有配套的endif
另外第22行的ELSE 2 是什么意思?
另外第22行的ELSE 2 是什么意思?
追问
如果要加endif应该插入多少行?
第二十二行是我打错,漏了一段程序
else
a=0
endif
else2
追答
casr i=6前面插入一行endif
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-11-30
展开全部
代码在那
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询