Office中国论坛/Access中国论坛

标题: 请教!如何能将某硬盘中所有文件夹及文件的名称都导入ACCESS表中?(又有新问题) [打印本页]

作者: sxgaobo    时间: 2009-2-22 15:44
标题: 请教!如何能将某硬盘中所有文件夹及文件的名称都导入ACCESS表中?(又有新问题)
本帖最后由 sxgaobo 于 2009-2-23 17:00 编辑

在论坛里查询了下,有几个例子,可都是把某一文件夹中文件名列出的,有没有将多个文件夹及其中文件明同时列出的方法啊?
作者: ACMAIN_CHM    时间: 2009-2-22 15:53
将多个文件夹及其中文件明同时列出的方法啊?

直接DOS命令 TREE /F
tree /f > a.txt


如果想自己用程序实现。
请到帮助中查看 DIR() 函数的说明。然后进行递归遍历。



******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: sxgaobo    时间: 2009-2-22 16:17
本帖最后由 sxgaobo 于 2009-2-22 16:19 编辑

谢谢 ACMAIN_CHM !
你的方法可以导出,可不是我要的结果啊!我想要这样的结果:
              位置
D:\A\A1.TXT
D:\A\A2.TXT
D:\A\A3.TXT
D:\A\B\B1.RAR
D:\A\B\B2.MDE
D:\C\C1.RAR
D:\C\E\E1.RAR
......
作者: todaynew    时间: 2009-2-22 16:23
如果文件名有规律,并且能直接调用“开始”中的搜索的话,好像应该满足要求。不过我不会,呵呵。
作者: sxgaobo    时间: 2009-2-23 09:23
等待中......
作者: Henry D. Sy    时间: 2009-2-23 09:26
自定义一个递归函数
作者: Henry D. Sy    时间: 2009-2-23 09:37
  1. Private Sub Command2_Click()
  2.     Dim diaFS As FileDialog
  3.     Set diaFS = Application.FileDialog(msoFileDialogFolderPicker)
  4.     With diaFS
  5.         .AllowMultiSelect = False
  6.         .Show
  7.     End With
  8.     If diaFS.SelectedItems.Count > 0 Then
  9.         Me.Text0 = diaFS.SelectedItems(1)
  10.     Else
  11.         Me.Text0 = Null
  12.     End If
  13. End Sub
  14. Private Sub Form_Load()
  15.     Me.List10.RowSourceType = "Value List"
  16.     Me.List10.RowSource = ""
  17. End Sub
  18. Private Sub Command7_Click()
  19.     Dim fs As New FileSystemObject
  20.     Dim fd As Folder
  21.     Dim sfd As Folder
  22.     If IsNull(Me.Text0) Then
  23.         MsgBox "请输入文件夹"
  24.         Me.Text0.SetFocus
  25.         Exit Sub
  26.     End If
  27.     Me.List10.RowSource = ""
  28.     Set fd = fs.GetFolder(Me.Text0)
  29.     ListFolder fd
  30. End Sub

  31. Sub ListFolder(fd As Folder)
  32.     Dim sfd As Folder
  33.     Dim f As File
  34.     For Each f In fd.Files
  35.         List10.AddItem f.Path
  36.     Next
  37.     For Each sfd In fd.SubFolders
  38.         List10.AddItem sfd.Path
  39.         ListFolder sfd
  40.     Next
  41. End Sub
复制代码

作者: sxgaobo    时间: 2009-2-23 11:20
谢谢版主!
高手,可有个问题,就是当文件夹中的文件多时报错!另外能麻烦您改下程序,将结果写在一个表中吗?
[attach]35662[/attach]
另:
我用别的方法得到了A表,怎样才能整理成B表那样的结果?
作者: sxgaobo    时间: 2009-2-23 13:12
解决了,在Henry D. Sy 版主提供例子的基础上。
谢谢各位朋友的热情帮助!!!
作者: sxgaobo    时间: 2009-2-23 16:33
再请教个问题!
如何能得到所选择文件夹中的文件个数(包括子文件夹中)啊?
作者: sxgaobo    时间: 2009-2-23 19:08
再次请教!
如何能得到所选择文件夹中的文件个数(包括子文件夹中)啊?
作者: sxgaobo    时间: 2009-2-23 20:22
明天出差,有感兴趣的朋友帮我顶顶好吗?
作者: chaojianan    时间: 2009-2-23 21:20
解决了,在Henry D. Sy 版主提供例子的基础上。
谢谢各位朋友的热情帮助!!!
sxgaobo 发表于 2009-2-23 13:12


请问你是如何解决了[当文件夹中的文件多时报错]这个问题?
可否分享。
作者: sxgaobo    时间: 2009-2-24 08:31
将所取得的数据写入表中就不会报错了!
作者: Henry D. Sy    时间: 2009-2-24 08:57
你把您的例子传上来看看
作者: Henry D. Sy    时间: 2009-2-24 09:01
files有个count属性。
作者: sxgaobo    时间: 2009-2-27 17:54
本帖最后由 sxgaobo 于 2009-2-27 18:46 编辑

Dim sfd As Folder
    Dim f As File
    Dim r As DAO.Recordset
   
    For Each f In fd.Files
Set r = CurrentDb.OpenRecordset("select a from 表;")
r.AddNew
r.Fields!a = f.Path
r.Update
Me.Repaint
    Next
   
    For Each sfd In fd.SubFolders
        
        ListFolder sfd
   
    Next


files的count怎么用啊?
我想做个进度条,免得文件很多的时候象死机了似的,所以想在导文件前知道需要导入文件的个数。
作者: Henry D. Sy    时间: 2009-2-27 20:23
try

Dim sfd As Folder
    Dim f As File
    Dim r As DAO.Recordset
    dim i as long

    For Each f In fd.Files
Set r = CurrentDb.OpenRecordset("select a from 表;")
r.AddNew
r.Fields!a = f.Path
i=i+1
r.Update
Me.Repaint
    Next
   
    For Each sfd In fd.SubFolders
        
        ListFolder sfd
   
    Next
msgbox i
作者: sxgaobo    时间: 2009-3-1 09:01
本帖最后由 sxgaobo 于 2009-3-1 10:12 编辑

谢谢版主!
我是想做个进度条,所以需要在导文件前知道每个子文件夹中文件的个数,不是导入完成后统计共导了几个文件啊!用什么方法啊?
作者: sxgaobo    时间: 2009-3-1 14:05
files的count属性怎么用啊?
作者: sxgaobo    时间: 2009-3-1 18:53
自己顶顶!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3