Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: gromax am April 07, 2015, 15:00:32

Titel: Backend-Pfad die Zweite
Beitrag von: gromax am April 07, 2015, 15:00:32
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
Titel: Re: Backend-Pfad die Zweite
Beitrag von: MaggieMay am April 07, 2015, 15:46:09
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.
Titel: Re: Backend-Pfad die Zweite
Beitrag von: gromax am April 07, 2015, 17:04:54
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