sele 1
use 表a excl
for ii=1 to fcou()
lsc =fiel(ii)
if vart(&lsc)="C"
sele max(len(allt(&lsc))) from 表a into arra tmpa
alte dbf 表a alte &lsc c(tmpa(1))
endif
endfor
以上在实际应用中,很好。但是有个问题,楼上没注意,要修改的字段必须要有值,不能是空值,否则就会出错。我在应用的时,针对出错的情况分析了一下,作了局部调整。
sele 1
use 表a excl
for ii=1 to fcou()
lsc =fiel(ii)
if vart(&lsc)="C".
and.!EMPTY(&lsc)
sele max(len(allt(&lsc))) from 表a into arra tmpa
alte dbf 表a alte &lsc c(tmpa(1))
endif
endfor
红色部分就是我加上的,在运行中,没有出现错误信息了