By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
460,033 Members | 1,230 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 460,033 IT Pros & Developers. It's quick & easy.

Storing directory names in a table

P: n/a
I am hoping someone here has experience with this. I am using Access
97, but if someone has done this in another version I'd appreciate
input as well

I need to populate a table with subdirectory names.

Example:
c:\Tests has the subdirectories test1, test2 and test3. Each directory
has a file called test1.txt, test2.txt, test3.txt. I would like to
populate a table with just the subdirectory names.

I hope this was clear enough, and I realy hope someone has come across
this before.

Thanks in advance,
Sheila
Nov 13 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Do you want JUST the directory names, or how about something that results
all file names in he dir, and (also, all those below?).

Would that help?

Here is some test code that takes a given directory, and retunes ALL files
(and includes all files in the sub-dirs also).
Sub dirTest()

Dim dlist As New Collection
Dim startDir As String
Dim i As Integer

startDir = "C:\access\"
Call FillDir(startDir, dlist)

MsgBox "there are " & dlist.Count & " in the dir"

' lets printout the stuff into debug window for a test

For i = 1 To dlist.Count
Debug.Print dlist(i)
Next i

End Sub
Sub FillDir(startDir As String, dlist As Collection)

' build up a list of files, and then
' add add to this list, any additinal
' folders

Dim strTemp As String
Dim colFolders As New Collection
Dim vFolderName As Variant

strTemp = Dir(startDir)

Do While strTemp <> ""
dlist.Add startDir & strTemp
strTemp = Dir
Loop

' now build a list of additional folders
strTemp = Dir(startDir & "*.", vbDirectory)

Do While strTemp <> ""
If (strTemp <> ".") And (strTemp <> "..") Then
colFolders.Add strTemp
End If
strTemp = Dir
Loop

' now process each folder (recursion)
For Each vFolderName In colFolders
Call FillDir(startDir & vFolderName & "\", dlist)
Next vFolderName

End Sub

--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pl*****************@msn.com
http://www.attcanada.net/~kallal.msn
Nov 13 '05 #2

P: n/a
The following will give you all of the subdirectories:

Sub ListSubdirectories()
Dim strFolder As String

strFolder = Dir$("C:\Tests\", vbDirectory)
Do While Len(strFolder) > 0
If strFolder <> "." And strFolder <> ".." Then
If (GetAttr("C:\Tests\" & strFolder) And vbDirectory) =
vbDirectory Then
Debug.Print strFolder
End If
End If
strFolder = Dir$()
Loop

End Sub

Hopefully that's enough to get you going.

--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(No private e-mails, please)
"Sheila" <sh********@shaw.ca> wrote in message
news:e3**************************@posting.google.c om...
I am hoping someone here has experience with this. I am using Access
97, but if someone has done this in another version I'd appreciate
input as well

I need to populate a table with subdirectory names.

Example:
c:\Tests has the subdirectories test1, test2 and test3. Each directory
has a file called test1.txt, test2.txt, test3.txt. I would like to
populate a table with just the subdirectory names.

I hope this was clear enough, and I realy hope someone has come across
this before.

Thanks in advance,
Sheila

Nov 13 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.