三黄鸡好还是芦花鸡好:用VFP对很多的文件进行数据处理

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 00:35:41
我有一千个结构相同的dbf文件,我想求出每个dbf中每列数字的和,想把一千个文件的计算结果在一张纸上表现出来,怎么做呢?文件不能合并(太大了),要是编制程序一个一个的执行也要执行1000次,听说需要宏命令,能帮助一下么?
我用的是xp ,这些dbf的文件名字是0001、0002、0003...1000.在d\下,有两列a,b.求出他们的∑a,∑b,我需要用vfp在一张表上显示如下结果:
文件名∑A ∑B
0001 ∑a ∑b
0002 ∑a ∑b
0003 ∑a ∑b
............
1000 ∑a ∑b
请大家帮帮忙,我将不断增加悬赏!

因为不知道你的操作系统和具体的dbf文件名,没法给你写,只给你个思路:
1。dir *.dbf >dbffile.txt 把文件名输出到一个文本文件里,然后你看文件名在第几列,然后建立一表,追加这个文本文件,看文件名在哪个字段
2。scan 这个表,use &dbf文件名字段 这里就用到了宏替换,然后统计就可以了
另外,第一步也可以用adir命令得到dbf文件名,然后循环数组,也用宏替换 use &数组的文件名的那一列

*建一个表 sumtable.dbf
*结构如下:字段名 数据种类 大小
* filename c 4
* a n 10
* b n 10

sele 1
use sumtable

suma=0 &&用于a字段的累加和
sumb=0 &&用于b字段的累加和

for i =1 to 1000
b=pandl(allt(str(i)),3,"0") *将数字1-1000转为字符 0001-1000
filename="d:\"+b+".dbf" *文件名

sele 2
use &file
sum(a) to la
sum(b) to lb

suma=suma+la
sumb=suma+lb

insert into sumtable values (filename,suma,sumb)

endfor

sele sumtable
brow