2017-06-08 2 views
0

Ich habe eine Datenbank in FrontEnd und BackEnd aufgeteilt.Zugriff auf vba Überprüfen, ob die Datei existiert

Ich habe es läuft: i) in meinem Büro ii) Aktualisieren/Testen in meinem PC.

Meine BackEnd-Datei wird je nach laufendem Computer in einem anderen Verzeichnispfad ausgeführt.

Ich möchte einen Code platzieren und prüfen, ob die Datei existiert.

Code:

Sub FileExists() 
Dim strPath As String '<== Office. 
Dim strApplicationFolder As String 
Dim strPathAdmin As String '<== Admin. 

strPath = "\\iMac\Temp\" 
strApplicationFolder = Application.CurrentProject.Path 
strPathAdmin = strApplicationFolder & "\Temp\" 

If Dir(strApplicationFolder & "SerialKey.txt") = "" Then 
'===> Admin User. 
    If Dir(strPathAdmin & "*.*") = "" Then 
     '===> Empty Folder. 
    Else 
     '===> Files on folder. 
    End If 
Else 
    '===> Office User. 
    If Dir(strPath & "*.*") = "" Then 
     '===> Empty Folder. 
    Else 
     '===> Files on folder. 
    End If 
End If 
End Sub() 

Ich habe dies bis jetzt.

Irgendwelche Hilfe.

Danke ...

Antwort

2

eine kleine Funktion erstellen, wenn eine Datei und es besteht zu prüfen, rufen Sie, wenn nötig.

Public Function FileExists(ByVal path_ As String) As Boolean 
    FileExists = (Len(Dir(path_)) > 0) 
End Function 

Da sich die Backend-Datenbankpfade nicht ändern, warum deklarieren Sie nicht zwei Konstanten und überprüfen einfach deren Wert?

Sub Exist() 

    Const workFolder As String = "C:\Work Folder\backend.accdb" 
    Const personalFolder As String = "D:\Personal Folder\backend.accdb" 

    If FileExists(workFolder) Then 
     'Work folder exists 
    End If 

    '.... 

    If FileExists(personalFolder) Then 
     'Personal folder exists 
    End If 
End Sub 
+0

Vielen Dank. Ich denke, dass es das ist, was ich brauche. Kann ich in der Funktion die beiden const hinzufügen? Ich werde den Code an vielen Orten zur Sicherheit verwenden. – YvetteLee

+0

Wenn Sie vorhaben, es an vielen Stellen zu verwenden, sollten Sie die Funktion beibehalten und 'If FileExists (fileName)' nennen. Wenn Sie Zugriff auf die konstanten Variablen haben möchten, legen Sie sie oben auf ein Modul und markieren Sie sie "Öffentlich" für den Zugriff von überall in der App oder "Privat", um von überall in diesem Modul darauf zuzugreifen. –

+0

Vielen Dank. – YvetteLee

Verwandte Themen