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
测试通过
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
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