CLOSE DATABASES
USE ls.DBF
for I=4 To Fcount() &&我从第4个字段开始
cfield=fields(i)
IF TYPE("&cfield")='C'
REPLACE &cfield WITH " " for ALLTRIM(&cfield)=='0'&&&只要是0的用空格替换。
ENDIF
ENDFOR
brow
CLOSE DATABASES
USE ls.DBF
for I=4 To Fcount()&&我从第4个字段开始 cfield=fields(i) IF TYPE("&cfield")='C' REPLACE&cfield WITH " " for ALLTRIM(&cfield)=='0'&&&只要是0的用空格替换。 ENDIF
ENDFOR
brow
VFP9运行通过。
不怕你见笑,调试器查找问题我不太会用,而且也没有产生错误的所以然
为什么用vartype()在程序中来判断字段类型时有时要出错
IF VARTYPE(FIELD(i))="C"&&换成type()就没有下面的提示 REPLACE&cfield WITH " " for ALLTRIM(&cfield)=='0'&&&只要是0的用空格替换。 提示字段类型 ,数值。。。不对 ENDIF
type()与vartype()有何区别吗,不是说后者比前者更好吗,后者对括号内的字段不要加引号"",更方便。