功能强大的setfiltto

Author: 林晓健 Date: 1997-01-01

  一个数据库文件,总包含大量的有一定规律的数据,对它们进行统计、查询等操作,是不可或缺的工作。如果将各类型数据分别都制成数据库文件,文件数目将相当之多。这时,就得求助于set filt to命令了。
  该命令是在数据库文件中将符合某一条件的记录映射为一个数据库文件,其他不符合条件的记录都被筛选过滤掉。
  例如:在数据库zgtj.dbf中,表示职工编号的字符型字段的形式为:××××××,其中,第一位为厂名代号,二三位为职工入厂时间,最后三位为职工顺序号。如果要统计84年进厂职工的情况,即可使用如下命令:
  use zgtj
  set filt to sj=subs(zgbh,2,2)
  其中,内存变量sj代表职工入厂时间(sj=`84`),字段zgbh代表职工编号。这样,就在原大型数据库文件的基础上,映射成了一个入厂时间为84年的全部职工的数据库文件,操作起来就大大简便了。以后即使关闭这个映射文件,而统计结果却已保存到原大型数据库文件中去了。
  瞧,是不是很方便?
  需要注意的几点是:
  ①用set filt to所生成的库文件只是一个虚拟的文件,在磁盘上并未产生真正的文件。
  ②要使生成的映射数据库文件起作用,必须先使记录指针移动一下。
  ③关闭这个虚拟文件,只要键入set filt to即可。