Liebe Access-Profis,
ich möchte meine Backend-Datei (PV_Al_be.accdb) per Button sichern. Nun möchte ich den Backend-Pfad per VBA auslesen und habe dazu folgende Zeilen gefertigt:
(...)
strZielVerz = CurrentDb.TableDefs("tbl_ERSATZ").Connect ' ergibt >> ;DATABASE=J:\Allgemein\AccessPV\PV_Al_be.accdb
strZielVerz = Mid(strZielVerz, 11) 'ergibt >> J:\Allgemein\AccessPV\PV_Al_be.accdb
strZielVerz = Left(strZielVerz, 21) 'ergibt >> J:\Allgemein\AccessPV
strZielVerzS = strZielVerz & "\Sicherung\"
(...)
wohl wissend, wie der korrekte Pfad lautet und welche Zahlen ich entsprechend bei Mid und Left eingeben muss?
Gibt es da nicht einen allgemeingültigeren Lösungsweg, der mir auch einen beliebigen Pfad auslesen kann ?
Für Eure Unterstützung und Hilfe vorab vielen Dank
gromax
Probiere es mal hiermit:
Dim strZielVerz As String
strZielVerz = Mid(CurrentDb.TableDefs("tbl_erfassung").Connect, 11)
strZielVerz = Left(strZielVerz, InStrRev(strZielVerz, "\")) & "Sicherung\"
Du könntest auch noch den Startpunkt variabel halten, indem du nach der Position von "Database=" suchst, das dürfte aber überflüssig sein, zumindest solange es sich um ein Access-Backend handelt.
Hallo MaggieMay,
wie immer: Klasse! Es funktioniert! Ich habe folgende Anpassung vorgenommen:
(...)
Dim strZielVerz As String
strZielVerz = CurrentDb.TableDefs("tbl_ERSATZ").Connect
strZielVerz = Mid(strZielVerz, 11)
strZielVerz = Left(strZielVerz, InStrRev(strZielVerz, "\")) & "Sicherung\"
If Dir(strZielVerz, vbDirectory) = "" Then
MkDir strZielVerz
End If
(...)
Du hast mir wieder mal prächtig geholfen!
Vielen Dank
gromax