G
Guest
I have folled the instructions in Allen Browne's website (see code below) -
http://allenbrowne.com/func-02.html.
But the problem that I am having is taht when I attach the function to the
listbox ,it runs okay the first time,But when the form is loaded again it
duplicates the contents of the directory again ,thus showing repeating values
to the end user.
Can anyone,please, help out of this malaise.
sysAccountant
Function DirListBox (fld As Control, ID, row, col, code)
' Purpose: To read the contents of a directory into a ListBox.
' Usage: Create a ListBox. Set its RowSourceType to "DirListBox"
' Parameters: The arguments are provided by Access itself.
' Notes: You could read a FileSpec from an underlying form.
' Error handling not shown. More than 512 files not handled.
Dim StrFileName As String
Static StrFiles(0 To 511) As String ' Array to hold File Names
Static IntCount As Integer ' Number of Files in list
Select Case code
Case 0 ' Initialize
DirListBox = True
Case 1 ' Open: load file names into array
DirListBox = Timer
StrFileName = Dir$("C:\") ' Read filespec from a form here???
Do While Len(StrFileName) > 0
StrFiles(IntCount) = StrFileName
StrFileName = Dir
IntCount = IntCount + 1
Loop
Case 3 ' Rows
DirListBox = IntCount
Case 4 ' Columns
DirListBox = 1
Case 5 ' Column width in twips
DirListBox = 1440
Case 6 ' Supply data
DirListBox = StrFiles(row)
End Select
End Function
===================================================
http://allenbrowne.com/func-02.html.
But the problem that I am having is taht when I attach the function to the
listbox ,it runs okay the first time,But when the form is loaded again it
duplicates the contents of the directory again ,thus showing repeating values
to the end user.
Can anyone,please, help out of this malaise.
sysAccountant
Function DirListBox (fld As Control, ID, row, col, code)
' Purpose: To read the contents of a directory into a ListBox.
' Usage: Create a ListBox. Set its RowSourceType to "DirListBox"
' Parameters: The arguments are provided by Access itself.
' Notes: You could read a FileSpec from an underlying form.
' Error handling not shown. More than 512 files not handled.
Dim StrFileName As String
Static StrFiles(0 To 511) As String ' Array to hold File Names
Static IntCount As Integer ' Number of Files in list
Select Case code
Case 0 ' Initialize
DirListBox = True
Case 1 ' Open: load file names into array
DirListBox = Timer
StrFileName = Dir$("C:\") ' Read filespec from a form here???
Do While Len(StrFileName) > 0
StrFiles(IntCount) = StrFileName
StrFileName = Dir
IntCount = IntCount + 1
Loop
Case 3 ' Rows
DirListBox = IntCount
Case 4 ' Columns
DirListBox = 1
Case 5 ' Column width in twips
DirListBox = 1440
Case 6 ' Supply data
DirListBox = StrFiles(row)
End Select
End Function
===================================================