Verzeichnisse und DateienWer wirklich mit Access arbeitet, der bleibt vor Kontakten mit der Außenwelt nicht verschont. Das bedeutet, dass man sich früher oder später mit dem Zugriff auf externe Verzeichnisse und Dateien beschäftigen muss. Das kann natürlich auch passieren, wenn Sie einmal Daten in ein Backend auslagern und dieses automatisch neu verknüpfen möchten.
Im vorliegenden Beitrag lernen Sie einige Funktionen und Prozeduren kennen, die für den Zugriff auf Verzeichnisse und Dateien wichtig sind.

Dateiname und Verzeichnis der aktuellen Datenbank ermittelnMit den Eigenschaften des CurrentDB-Objektes können Sie verschiedene Informationen über die aktuelle Datenbank erfahren.
Die folgende Anweisung zeigt beispielsweise den vollen Pfad inklusive Dateinamen der aktuellen Datenbank an:
Debug.Print CurrentDB.Name
Kombiniert mit der Anweisung Dir ermitteln Sie nur den Namen der Datenbankdatei:
Debug.Print Dir(CurrentDB.Name)
Wenn Sie nur das Verzeichnis benötigen, müssen Sie den Namen von dem kompletten Pfad 'abziehen'.
Dazu ermitteln Sie die Länge der Zeichenkette mit dem Namen und schneiden beim kompletten Pfad hinten eine entsprechende lange Zeichenkette ab. Die Länge des Namens ermittelt folgender Ausdruck:
Debug.Print Len(Dir(CurrentDB.Name))
Um den Dateinamen der Datenbank vom kompletten Pfad abzutrennen, verwenden Sie schließlich den folgenden Ausdruck:
Debug.Print Mid(CurrentDB.Name,1,len(CurrentDB.Name) - Len(Dir(CurrentDB.Name))) Dateiendungen massenweise ändernManchmal müssen die Dateiendungen mehrerer Dateien geändert werden. Dabei hilft Ihnen die folgende Prozedur. Sie erwartet drei Parameter: - Verzeichnis, in dem sich die Dateien befinden
- alte Dateiendung
- neue Dateiendung
Die Prozedur hat folgendes Aussehen:
Public Sub DateienUmbenennen(Verzeichnis As String, Ausgangsendung As String, Zielendung As String)
Dim AktuelleDatei As String
Dim NeuerDateiname As String
AktuelleDatei = Dir(Verzeichnis)
Do While AktuelleDatei <> ""
If Right(AktuelleDatei, 3) = Ausgangsendung Then
NeuerDateiname = Mid(AktuelleDatei, 1, Len(AktuelleDatei) - 3) & Zielendung
Name Verzeichnis & AktuelleDatei As Verzeichnis & NeuerDateiname
End If
AktuelleDatei = Dir
Loop
End Sub |