主题:VFP能不能一次更新所有段?
coffeenight
[专家分:230] 发布于 2009-06-27 12:20:00
因为字段太多了。。。所以
现在需要把所有字段内容为空的字段全部更新为“无”
有什么办法吗?
谢谢大家!
回复列表 (共10个回复)
沙发
qjbzjp [专家分:8830] 发布于 2009-06-27 14:22:00
*如果所有字段都是字符型的(否则要加条件):
USE 表名
FOR i = 1 to FCOUNT()
myf=FIELD(i)
REPLACE all &myf with "无" for EMPTY(&myf)
NEXT
板凳
北京惬意 [专家分:1330] 发布于 2009-06-28 00:45:00
BLANK all
3 楼
coffeenight [专家分:230] 发布于 2009-06-28 10:55:00
非常感谢2楼!
种子乐朋友,你理解错了我的意思
4 楼
北京惬意 [专家分:1330] 发布于 2009-06-28 11:13:00
你是什么意思?请讲。
5 楼
coffeenight [专家分:230] 发布于 2009-06-28 15:59:00
我是想 达到这个效果 : 把所有字段内容为空的字段全部用字符“无”替代。
不是想把所有字段清空
谢谢您的热心帮助!
6 楼
北京惬意 [专家分:1330] 发布于 2009-06-28 17:44:00
USE 表名
FOR i = 1 to FCOUNT()
myf=FIELD(i)
IF TYPE("myf")="C"
REPLACE (myf) with "无" for EMPTY(EVAL(myf))
ENDIF
NEXT
* 在这种情况时用()和EVLA()更适合,也就是应首选()和EVAL()。
7 楼
coffeenight [专家分:230] 发布于 2009-06-28 23:43:00
谢谢。
不明白 宏替换和() 有什么区别?
另外 eval() 函数 的作用是什么? 为什么要加 eval()?
8 楼
北京惬意 [专家分:1330] 发布于 2009-06-29 04:35:00
EVAL()用来计算出内存变量或字段变量的值,例如:
A="2+3"
?EVAL(A)
显示 5
?&A
显示 5
?(A)
显示 2+3
()、EVAL()、&有时可以选用,有时必用其一才行,编程编多了,由量变到质变,自然就掌握了,先不要急。
关于&,我给你找一个帖子顶上来,你参考一下。那里讨论的更深刻。
9 楼
北京惬意 [专家分:1330] 发布于 2009-06-29 05:23:00
楼主:
你重点看一下“奇妙的宏替换”那帖,对你理解&或许能有帮助。
10 楼
coffeenight [专家分:230] 发布于 2009-06-29 08:29:00
非常感谢!正在努力学习中
我来回复