Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Backend-Pfad die Zweite

Begonnen von gromax, April 07, 2015, 15:00:32

⏪ vorheriges - nächstes ⏩

gromax

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

MaggieMay

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.
Freundliche Grüße
MaggieMay

gromax

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