北京鸿利展览有限公司:用VFP对很多的文件进行数据处理

来源:百度文库 编辑:高校问答 时间:2024/04/30 01:46:43
我有一千个结构相同的dbf文件,我想求出每个dbf中每列数字的和,具体是有两列a,b.求出他们的∑a,∑b,我需要用vfp在一张表上显示如下结果:
文件名∑A ∑B
文件1 ∑a ∑b
文件2 ∑a ∑b
文件3 ∑a ∑b
............
文件1000 ∑a ∑b

想把一千个文件的计算结果在一张纸上表现出来,怎么做呢?文件不能合并(太大了),要是编制程序一个一个的执行也要执行1000次,听说需要宏命令,能帮助一下么?
声明一点,我的所有文件名字没有规律!

clos dbf
cFilePath=getfile('dbf')
if empt(cFilePath)
return
endi
cPath=left(cFilePath,rat('\',cFilePath))
nDBFNumber=adir(cDBF,cPath+'*.dbf')
Hfn100=fcrea('tmp.txt')
fput(Hfn100,'文件名 A列和 B列和')
for i=1 to nDBFNumber
cFileName=Cpath+cDBF[i,1]
use &cFileName
SUM(A) to nA
SUM(B) to nB
fput(Hfn100,cDBF[i,1]+' '+str(nA)+str(nb))
clos dbf
endf
fclos(Hfn100)

以下调试通过:

clear
i = 1
do while i<=1000
str1 = "文件名" + alltrim(str(i))
SELECT SUM(A) AS AA, SUM(B) AS BB FROM &str1 INTO CURSOR TMP
?str1,aa,bb
i=i+1
enddo