回 帖 发 新 帖 刷新版面

主题:VFP能不能一次更新所有段?

因为字段太多了。。。所以

现在需要把所有字段内容为空的字段全部更新为“无”
有什么办法吗?


谢谢大家!

回复列表 (共10个回复)

沙发

*如果所有字段都是字符型的(否则要加条件):
USE 表名
FOR i = 1 to FCOUNT()
    myf=FIELD(i)
    REPLACE all &myf with "无" for EMPTY(&myf)
NEXT

板凳

BLANK all

3 楼

非常感谢2楼!
  种子乐朋友,你理解错了我的意思

4 楼

你是什么意思?请讲。

5 楼

我是想 达到这个效果  : 把所有字段内容为空的字段全部用字符“无”替代。
不是想把所有字段清空
谢谢您的热心帮助!

6 楼

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 楼

谢谢。
不明白 宏替换和() 有什么区别?
另外  eval() 函数 的作用是什么? 为什么要加 eval()?

8 楼

EVAL()用来计算出内存变量或字段变量的值,例如:
A="2+3"
?EVAL(A)
显示 5
?&A
显示 5
?(A)
显示 2+3

()、EVAL()、&有时可以选用,有时必用其一才行,编程编多了,由量变到质变,自然就掌握了,先不要急。

关于&,我给你找一个帖子顶上来,你参考一下。那里讨论的更深刻。

9 楼

楼主:
    你重点看一下“奇妙的宏替换”那帖,对你理解&或许能有帮助。

10 楼

非常感谢!正在努力学习中

我来回复

您尚未登录,请登录后再回复。点此登录或注册