vfp 做了个循环更新符合条件的记录,但每次只更新一条。。。老师给看下错那啦。。。(菜鸟一枚,不胜感激!!!)

a=ALLTRIM(thisform.txt全宗号.value)
b=ALLTRIM(thisform.txt目录号.value)
c=ALLTRIM(thisform.txt案卷号.value)
d=ALLTRIM(thisform.txt卷内顺序号.value)
e='&a'+'-'+'&b'+'-'+'&c'+'-'+'&d'
f=ALLTRIM(thisform.txt文件标题.value)
yx=RECCOUNT()
GO top
select 卷内
i=0
IF i<=yx
locate FOR !EMPTY(f)
DO WHIL Not eof()
replace all 档号 with e for 全宗号=a AND 目录号=b AND 案卷号=c AND 卷内顺序号=d
i=i+1
CONTINUE
thisform.refresh
ENDDO
else
N=MESSAGEBOX(" 生成完毕!",0,"系统提示")
endif


a=ALLTRIM(thisform.txt全宗号.value)
b=ALLTRIM(thisform.txt目录号.value)
c=ALLTRIM(thisform.txt案卷号.value)
d=ALLTRIM(thisform.txt卷内顺序号.value)
e='&a'+'-'+'&b'+'-'+'&c'+'-'+'&d'
f=ALLTRIM(thisform.txt文件标题.value)
Lctablename=select()
update (Lctablename) set 档号=e where 全宗号=a AND 目录号=b AND 案卷号=c AND 卷内顺序号=d
return
yx=RECCOUNT()
GO top
select 卷内
i=0
IF i<=yx
locate FOR !EMPTY(f)
DO WHIL Not eof()
replace all 档号 with e for 全宗号=a AND 目录号=b AND 案卷号=c AND 卷内顺序号=d
i=i+1
CONTINUE
thisform.refresh
ENDDO
else
N=MESSAGEBOX(" 生成完毕!",0,"系统提示")
endif

去掉CONTINUE看看。

这是一张表的更新还是两张表的更新?