• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 237
  • Last Modified:

Access Script not working in Access 2007 on Windows 7 64

Greetings, I have a snippet of code that I wrote a while ago that looks at a directory and returns the folder contents into a temporary table, it's worked just fine until the new Windows 7 64 workstations try to run the code, now it's only returning the helpdesk.nal file that's on each users desktop.  Any help would be appreciated, script follows:

Private Sub cmd_inactive_Click()
Me.tgl_dwg = -1
'Start the Progress Meter
    Me.ProgressBar6.Visible = True
    Dim zzz As String
    Dim aaa As String
    Dim yyy As Integer
' Flag for canceled Dialog
    Dim bCanceled As Boolean
    Dim fDialog As Office.FileDialog
    Dim varFile As Variant

    Dim strPath As String

   'Clear listbox contents.
    Me.filelist.RowSource = ""
‘Clear the canceled flag
    bCanceld = False

    ChDrive ("S:")
    ChDir ("S:\autocad\active")
' Changed Type to Folder Dialog
   'Set up the File Dialog.
    Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
    With fDialog
' Multiple disabled
      'Allow user to make multiple selections in dialog box.
      .AllowMultiSelect = False
' Dialog box retitled to specify directory.
      'Set the title of the dialog box.
     .Title = "Please select the active directory"

      'Clear out the current filters, and add our own.

' Filters Disabled
       '.Filters.Add "All Files", "*.*"
' Differentiation between Open and Cancel only      
      'Show the dialog box. If the .Show method returns True, the
      'user picked at least one file. If the .Show method returns
      'False, the user clicked Cancel.
      If .Show = -1 Then
' File selection removed
         'Loop through each file selected and add it to the list box.
         'For Each vrtSelectedItem In .SelectedItems
          '  Me.filelist.AddItem vrtSelectedItem
'         Next
' Return the Chosen directory
         Me.filelist.AddItem fDialog.InitialFileName
         strPath = fDialog.InitialFileName
         MsgBox "You clicked Cancel in the folder dialog box."
         bCanceled = True
      End If
   End With
If bCanceled = False Then
' Table clear to allow cancel
'first clear out temp table
    DoCmd.OpenQuery "del_DCN_tbl_temp"
    Me.ProgressBar6.Value = 1
' Open the text file for filenames
    Open "C:\DCN\OUTPUT.txt" For Output As #1
' Use the DIR() function to get the first filename
    Dim strFile As String
    strFile = Dir(strPath & "*.*")
' Loop and get the next file in directory
    ' Output to textfile
    Do While Len(strFile) > 0
        Print #1, strFile
        strFile = Dir()
    Close #1

    Me.ProgressBar6.Value = 2

'Run a timer for 10 seconds to allow dir to finish

    Dim PauseTime, Start, Finish, TotalTime
        PauseTime = 10    ' Set duration.

        yyy = 3
        Start = Timer    ' Set start time.
        Do While Timer < Start + PauseTime
        DoEvents    ' Yield to other processes.
            If yyy < 4500 Then
                Me.ProgressBar6.Value = yyy
                yyy = yyy + 1
            End If
    Finish = Timer    ' Set end time.
    TotalTime = Finish - Start    ' Calculate total time.

    DoCmd.RunMacro "mac_dcn_import1"

End If ' canceled
    Me.tgl_dwg = -1
    Me.ProgressBar6.Visible = False
    Me.holder = 19 + Len(Me.activesearch)
End Sub
  • 4
  • 4
1 Solution
Jeffrey CoachmanMIS LiasonCommented:
jscottcampAuthor Commented:
Good link, I changed my Len() statements to LenB() and stepped through the code.
The problem appears to be specifically with this statement:      strFile = Dir(strPath & "*.*")
If i hardcode it to strFile = Dir(" s:\autocad\active\010\*.*")  it does return the list properly.
I know when I step through the value of strFile after I've selected the folder (I want returned) gives me the invalid data.
Jeffrey CoachmanMIS LiasonCommented:
make sure you code takes into account if the trailing "\" is included or not.
Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

jscottcampAuthor Commented:
I'm afraid that writing a function of this complexity is currently outside my skill-set.
Has anyone seen a directory select function that I can copy?
I've copied (and modified) the module in the link but I'm not able to call the function properly.
Jeffrey CoachmanMIS LiasonCommented:
Here is what I use.
...works in xp SP1

I don't have a win 7 64 to test it on though
jscottcampAuthor Commented:
I'll let you know what happens, i'm working on it now.
jscottcampAuthor Commented:
Worked perfectly, I'll have to poke around to see if I can get it to automatically choose a specified directory as a starting point but this just what I needed.

Thank you very much!
Jeffrey CoachmanMIS LiasonCommented:
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now