a.dbf结构是一样的,如何用程序自动搜索aaa文件夹下的子文件夹(如上面的zjk,td,dh,tr等)下的a.dbf库记录都合并到aaa\a.dbf里

xwt799023 2009-12-16 12:25:58
a.dbf结构是一样的,如何用程序自动搜索aaa文件夹下的子文件夹(如上面的zjk,td,dh,tr等)下的a.dbf库记录都合并到aaa目录下的a.dbf(aaa\a.dbf)里
aaa\zjk\a.dbf ,
aaa\td\a.dbf,
aaa\dh\a.dbf,
aaa\tr\a.dbf,

aaa\a.dbf合并后的库存放目录

...全文
287 41 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
41 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2009-12-17
  • 打赏
  • 举报
回复
USE aaa\a.dbf
p = 'aaa\'
ADIR(ar, p + '*.*', 'D')
FOR i=1 TO ALEN(ar, 1)
IF 'D' $ ar[i, 5]
ADIR(tmp, p + ar[i,1] + '\a.dbf')
FOR j=1 TO ALEN(tmp, 1)
APPEND FROM (p + ar[i,1] + '\a.dbf')
NEXT
ENDIF
NEXT
xwt799023 2009-12-17
  • 打赏
  • 举报
回复
好的,多谢
WWWWA 2009-12-17
  • 打赏
  • 举报
回复
下班了,下午再看看,你也可以测试一下
是存在DD。DBF中了
你可以修改一下

FF1='SELECT *'+LEFT(FF,LEN(FF)-19)+' into curs dd
use d:\temp\2009srtz.dbf
zap
appe from dbf('dd')

or

sele dd
copy to d:\temp\2009srtz.dbf
xwt799023 2009-12-17
  • 打赏
  • 举报
回复
是c:\dtgj 要不把结存入到c:\dtgj\dbf\下的2009srtz.dbf里也行,如何做呢
WWWWA 2009-12-17
  • 打赏
  • 举报
回复
wait wind SYS(5)+SYS(2003)
结果是什么
xwt799023 2009-12-17
  • 打赏
  • 举报
回复
不写死也行,关键是要存在名字为2009srtz.dbf,而运行你说的存成了.dbf了,并没有存在2009srtz.dbf名
WWWWA 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 xwt799023 的回复:]
我想存到d:\temp\2009srtz.dbf里
[/Quote]
是绝对目录即将路径写死?
xwt799023 2009-12-17
  • 打赏
  • 举报
回复
我想存到d:\temp\2009srtz.dbf里
WWWWA 2009-12-17
  • 打赏
  • 举报
回复
当前目录?
FF1='SELECT *'+LEFT(FF,LEN(FF)-19)+' into dbf '+SYS(5)+SYS(2003)+ '\dd '
xwt799023 2009-12-17
  • 打赏
  • 举报
回复
可以运行了,能查出来,但没有存到目录下的文件里??下面该如何做呢?多谢~~
WWWWA 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 xwt799023 的回复:]
版主,是运行不了吧
[/Quote]
NO,是有一个问题,要用objFolder.path,非objFolder.name
WWWWA 2009-12-17
  • 打赏
  • 举报
回复
测试通过
CLICK:
SET PROCEDURE TO R:\TEMP\vfp\form\ddd
PUBLIC FF AS Character
FF=""
DO MyProc1 WITH "r:\"
FF1='SELECT *'+LEFT(FF,LEN(FF)-19)+' into curs dd'
_CLIPTEXT =FF1
&FF1
brow

DDD:
PROCEDURE MyProc1
LPARAMETERS Folder
fso=CREATEOBJECT("Scripting.FileSystemObject")
objFolder = fso.GetFolder(Folder)
For Each objFile In objFolder.Files
IF RIGHT(UPPER(objFile.NAME),3)='DBF'
FF = FF + ' FROM "'+objFolder.path+'\'+objFile.NAME+'" UNION ALL SELECT * '
ENDIF
Next
For Each objFolder In objFolder.SubFolders
DO MyProc1 WITH objFolder
NEXT
ENDPROC

呵呵,纠正了一个错误
xwt799023 2009-12-17
  • 打赏
  • 举报
回复
版主,是运行不了吧
xwt799023 2009-12-17
  • 打赏
  • 举报
回复
老兄,你有msn号吗?可否提供一下,多谢
xwt799023 2009-12-17
  • 打赏
  • 举报
回复
上传了
行 文件名 体积 日期 上传人 描述
1 vfp.rar 6.07 KB 2009-12-17 9:45:00 未知
WWWWA 2009-12-17
  • 打赏
  • 举报
回复
上传你的表单、DBF到www.access911.net/csdn
,用WINRAR压缩
xwt799023 2009-12-17
  • 打赏
  • 举报
回复
运行到&FF1 时报一个错command is missing required clause
WWWWA 2009-12-17
  • 打赏
  • 举报
回复
modi comm ddd
复制
PROCEDURE MyProc1
LPARAMETERS Folder
fso=CREATEOBJECT("Scripting.FileSystemObject")
objFolder = fso.GetFolder(Folder)
*k = k + objFolder.Files.Count
For Each objFile In objFolder.Files
IF RIGHT(objFile.NAME,3)='DBF'
FF = FF + ' FROM "R:\TEMP\'+objFolder.NAME+'\'+objFile.NAME+'" UNION ALL SELECT * '
ENDIF
Next
For Each objFolder In objFolder.SubFolders
DO MyProc1 WITH objFolder
NEXT
ENDPROC

然后存盘
xwt799023 2009-12-17
  • 打赏
  • 举报
回复
傲,那没有,怎么生成呀,我还不会呢,见笑了
WWWWA 2009-12-17
  • 打赏
  • 举报
回复
dddd.PRG是个单独的PRG文件,你生成没有?
加载更多回复(21)

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧