我在自由表中测试,程序运行完全正常,包括最后一条也能正确处理,不知你的系统会丢掉最后一条记录,想来起去,可能是记录指针提前移动了一下,我在原代码中加了一条go top,你再试试。
CLOSE TABLES
set path to e:\国隆投资金融交易风险管理系统
USE 成交明细记录
zap
USE成交清单&&USE成交清单
go top&&新加的语句
DO WHILE not eof()
*当前记录扫描到数组muk
scatter to muk
*取当前记录的成交数量字段值
k=成交数量
sele 2
USE 成交明细记录
if k=0
append blank
gather from muk
replace 状态 with "已废除"
*成交清单中的"成交数量”为0时,成交明细记录中的“成交数量”是否标记为1,这里标记录为1.
replace 成交数量 with 1
else
i=1
do while i<=k
append blank
gather from muk
replace 状态 with "全部成交"
replace 成交数量 with 1
i=i+1
enddo
endif
sele 1
SKIP
ENDDO
use
sele 2
use
sele 1
USE 成交明细记录
brow
return