Avatar billede molehonter Mester
26. august 2011 - 08:01 Der er 7 kommentarer og
1 løsning

Application.FileSearch fejler

Jeg har problemer med Application.FileSearch ikke virker på alle PC'er men kun på nogle, er der noget med windows installation der skal opdateres, eller den fil der skal bruges ikke er på den forventet plads.


Private Sub cmdKillFile_Click()
  Set fs = Application.FileSearch
  Dim Parth1 As String
  Dim Con1 As String
  Dim Content As String
  Parth1 = ImageParth
  With fs
    .LookIn = Parth1
    .FileName = "*.*"
    If .Execute > 0 Then
        MsgBox "There were " & .foundfiles.Count & _
        " file(s) found."
        For i = 1 To .foundfiles.Count
          Con1 = InaktivImage(Mid(.foundfiles(i), 42))
          If Con1 <> "OK" Then
            If MsgBox("Slet fil.: " & Mid(.foundfiles(i), 42), vbYesNo) = vbYes Then
              Kill .foundfiles(i)
            End If
          End If
        Next i
    Else
        MsgBox "There were no files found."
    End If
  End With
  Me.txtInaktiveImage.Value = Content
End Sub
Avatar billede racermusen Nybegynder
26. august 2011 - 08:27 #1
Jeg formoder at du bruger Access 2003 eller ældre, da Application.FileSearch ikke understøttes i nyere versioner.
Hvis det er en pc med netværkslogin, skal du kigge i mappen
"C:\Documents and Settings". Her gemmes de brugernavne, der har været logget på pc'en. F.eks. initialerne "xxx" eller "yyy". Hvis den samme bruger optræder flere gange på listen f.eks. "xxx.domæne", ligger problemet her. Du skal logge på pc'en med en anden bruger. Derefter skal du fjerne de brugermapper under "C:\Documents and Settings" hvor den samme bruger optræder flere gange.
Avatar billede molehonter Mester
26. august 2011 - 08:33 #2
Jeg takker, jeg har en maskine med access 2003, men hvis man skal bruge access 2007 hvilken kommando kan man bruge.
Avatar billede hugopedersen Nybegynder
26. august 2011 - 08:44 #3
Se http://www.eksperten.dk/spm/945767

Der er en forklaring på hvad du skal gøre og som jeg skriver der så har jeg et lille eksempel der viser brugen.  Det kræver kun en mailadresse, så har du også dette eksempel.
Avatar billede racermusen Nybegynder
26. august 2011 - 08:49 #4
Du kan bruge følgende funktion
Fra din procedure foretager du et kald og får et array retur
F.eks. myFiles = FileList(Filepath, filewildcard)

Function FileList(fldr As String, Optional fltr As String = "*.*") As Variant
Dim sTemp As String, sHldr As String
    If Right$(fldr, 1) <> "\" Then fldr = fldr & "\"
    sTemp = Dir(fldr & fltr)
    If sTemp = "" Then
        FileList = Split("No files found", "|") 'ensures an array is returned
        Exit Function
    End If
    Do
        sHldr = Dir
        If sHldr = "" Then Exit Do
        sTemp = sTemp & "|" & sHldr
    Loop
    FileList = Split(sTemp, "|")
End Function
Avatar billede molehonter Mester
26. august 2011 - 09:05 #5
Jeg har sendt min mail til din mail adr.
Avatar billede hugopedersen Nybegynder
26. august 2011 - 14:23 #6
Og jeg har returneret eksempel til den adresse.

Er der andre interesserede, så er proceduren den samme - send mig en mail og få eksemplet retur.
Avatar billede molehonter Mester
31. august 2011 - 08:38 #7
Hej

Jeg har kigget på det, og det ser godt ud mange tak for hjælpen.
Men når jeg er færdig sender jeg en vareiant af proceduren.
Avatar billede hugopedersen Nybegynder
31. august 2011 - 08:40 #8
Tak for point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester