求教一个foxpro 问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 07:32:56
foxpro一个表文件,从EXCEL导入的,表文件名fp.dbf,表中有一个字段,字段名为"发票号码",共有38条记录,部分记录的发票号码字段为空,
为什么运行这个prog.prg文件后,不管是是否为空的纪录都被替换掉了,好像这个IF语句没有起到判断作用,请各位高手指点,这里先谢过了! 附件有源文件. 谢谢!!感激不尽啊!
prog.prg文件内容如下:

use fp.dbf
go top
for i=1 to 38
go i
if fp.发票号码=""
replace fp.发票号码 with "00000001"
endif
endfor
gljqd的答案可用,lazy67不行,希望gljqd解释一下我错在哪里?补充20分,谢谢

use fp
repl all 发票号码 with "00000001" for empt(发票号码)

改为:if fp.发票号码==""

vf中,默认判断在右边字符串结束时便停止了。

将=改为==则会一直比较到最后一个字符。

use fp
repl all 发票号码 with "00000001" for 发票号码==""

if len(alltrim(fp.发票号码))=0