Guten Abend liebe Leser!
Seit einigen Tagen kämpfe ich mit einem Problem.
Ich möchte gerne bei geöffneter Access - Datenbank per Knopfdruck eine neue Datenbank in ein von mir ausgewähltes Verzeichnis speichern. Dieses Verzeichnis ist nicht immer gleich.
Ich habe es zwar geschafft das Dateidialog - Fenster aufzurufen, jedoch kann ich den ausgewählten Ordner dann nicht als Speicherplatz verwenden, da meine Prozedur immer das aktuelle Arbeitsverzeichnis als Speicherpfad verwendet.
Folgenden Code verwende ich derzeit:
‚‘’ Typdeklaration für API-Dialog ‚Verzeichnis auswählen‘
Private Type BrowseInfo
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
Private Declare Function SHGetPathFromIDList Lib „shell32.dll“ (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function SHBrowseForFolder Lib „shell32.dll“ (lpBrowseInfo As BrowseInfo) As Long
’ Ermittelt Verzeichnisnamen und zeigt Windows-Dialog an
Public Function VerzeichnisWählen(Optional DialogTitel) As String
Dim StrukturVerzeichnisInfo As BrowseInfo, ListenNr As Long, Pfad As String
With StrukturVerzeichnisInfo
.hOwner = hWndAccessApp
.lpszTitle = IIf(IsMissing(DialogTitel), „Verzeichnispfad auswählen“, CStr(DialogTitel))
.ulFlags = &H1 ’ BIF_RETURNONLYFSDIRS
End With
ListenNr = SHBrowseForFolder(StrukturVerzeichnisInfo)
Pfad = Space$(512)
If SHGetPathFromIDList(ByVal ListenNr, ByVal Pfad) Then VerzeichnisWählen = Left(Pfad, InStr(Pfad, vbNullChar) - 1)
End Function
Hat jemand von euch eine Idee?
Ich bitte um Eure Unterstützung