Neuigkeiten:

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

Mobiles Hauptmenü

Letzten Dataipfad merken

Begonnen von Traut91, März 10, 2015, 14:21:21

⏪ vorheriges - nächstes ⏩

Traut91

Hallöchen.

In meinem Formular verwende ich ein Feld, in dem ich per Button je Datensatz einen Dateipfad suchen und eintragen lassen kann.

Bei dem Dialogfeld zum Suchen der Dateien öffnet sich immer der Pfad zur aktuellen Datenbank.

Gibt es irgendwie die Möglichkeit das so einzustellen, dass immer der zuletzt verwendete Pfad standardmäßig geöffnet wird?

DF6GL

Hallo,

ja, die Möglichkeit gibt es....   Zeig mal den Code, der beim Button-Klick ausgeführt wird und die Tabelle mit ihren Feldern, in der der Dateipfad gespeichert wird.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Traut91

Also da geb ich mal alles her was ich dazu habe. Ich muss anmerken, dass ich den Code dazu aus einer Beispieldatenbank habe:

Folgendes steht im Code des Moduls:
Option Compare Database
Option Explicit

Public Function DateiAuswahl() As String
    Dim strFile As String
    WizHook.Key = 51488399
    Call WizHook.GetFileName(Application.hWndAccessApp, "Microsoft Access", "Datei öffnen", "Öffnen", strFile, CurrentProject.Path, "Access-Datenbanken (*.mdb,*.accdb)", 0, 0, 0, False)
    Debug.Print strFile
End Function

Public Function DateiAuswaehlen() As String
    Dim strFile As String
    Dim lngHwndOwner As Long
    Dim strDlgTitle As String
    Dim strOpenTitle As String
    Dim strInitialDir As String
    Dim strFilter As String
    Dim lngFilterIndex As Long
    Dim lngView As Long
    Dim lngFlags As Long
    Dim bolFOpen As Boolean
   
    lngHwndOwner = Application.hWndAccessApp
    strDlgTitle = "Datei auswählen"
    strOpenTitle = "Öffnen"
    strInitialDir = CurrentProject.Path
    strFilter = "Access-Datenbanken (*.mdb,*.accdb)"
    lngFilterIndex = 0
    lngView = 0
    lngFlags = 0
    bolFOpen = False
   
    WizHook.Key = 51488399
    Call WizHook.GetFileName(lngHwndOwner, "Microsoft Access", strDlgTitle, strOpenTitle, strFile, strInitialDir, strFilter, lngFilterIndex, lngView, lngFlags, bolFOpen)
    DateiAuswaehlen = strFile
End Function

Public Function OrdnerAuswaehlen() As String
    Dim strFile As String
    Dim lngHwndOwner As Long
    Dim strDlgTitle As String
    Dim strOpenTitle As String
    Dim strInitialDir As String
    Dim strFilter As String
    Dim lngFilterIndex As Long
    Dim lngView As Long
    Dim lngFlags As Long
    Dim bolFOpen As Boolean
   
    lngHwndOwner = Application.hWndAccessApp
    strDlgTitle = "Ordner auswählen"
    strOpenTitle = "Auswählen"
    strInitialDir = CurrentProject.Path
    strFilter = ""
    lngFilterIndex = 0
    lngView = 0
    lngFlags = 32
    bolFOpen = True
   
    WizHook.Key = 51488399
    Call WizHook.GetFileName(lngHwndOwner, "Microsoft Access", strDlgTitle, strOpenTitle, strFile, strInitialDir, strFilter, lngFilterIndex, lngView, lngFlags, bolFOpen)
    OrdnerAuswaehlen = strFile
End Function

Public Function BildAuswaehlen() As String
    Dim strFile As String
    Dim lngHwndOwner As Long
    Dim strDlgTitle As String
    Dim strOpenTitle As String
    Dim strInitialDir As String
    Dim strFilter As String
    Dim lngFilterIndex As Long
    Dim lngView As Long
    Dim lngFlags As Long
    Dim bolFOpen As Boolean
   
    lngHwndOwner = Application.hWndAccessApp
    strDlgTitle = "Bilder auswählen"
    strOpenTitle = "Auswählen"
'    strInitialDir = CurrentProject.Path
    strInitialDir = "C:\Daten\ToolsUndCo\icons_VCollections\All256"
    strFilter = "Bilddateien (*.jpg;*.jpeg;*.png;*.bmp;*.gif;*.tif)|Alle Dateien (*.*)"
    lngFilterIndex = 0
    lngView = 4
    lngFlags = 64
    bolFOpen = True
   
    WizHook.Key = 51488399
    Call WizHook.GetFileName2(lngHwndOwner, "Microsoft Access", strDlgTitle, strOpenTitle, strFile, strInitialDir, strFilter, lngFilterIndex, lngView, lngFlags, bolFOpen, False)
    BildAuswaehlen = strFile
End Function

Public Function DatenbankAuswaehlen() As String
    Dim strFile As String
    Dim lngHwndOwner As Long
    Dim strDlgTitle As String
    Dim strOpenTitle As String
    Dim strInitialDir As String
    Dim strFilter As String
    Dim lngFilterIndex As Long
    Dim lngView As Long
    Dim lngFlags As Long
    Dim bolFOpen As Boolean
   
    lngHwndOwner = Application.hWndAccessApp
    strDlgTitle = "Datenbank auswählen"
    strOpenTitle = "Auswählen"
    strInitialDir = CurrentProject.Path
    strFilter = "Access-Dateien (*.mdb;*.accdb)|Kompilierte Dateien (*.mde;*.accde)|Add-Ins (*.mda;*.accda)|Alle Dateien (*.*)"
    lngFilterIndex = 0
    lngView = 5
    lngFlags = 64
    bolFOpen = True
   
    WizHook.Key = 51488399
    Call WizHook.GetFileName(lngHwndOwner, "Microsoft Access", strDlgTitle, strOpenTitle, strFile, strInitialDir, strFilter, lngFilterIndex, lngView, lngFlags, bolFOpen)
    DatenbankAuswaehlen = strFile
End Function

Public Sub Filepath()
    Dim strFilepath As String
    strFilepath = "Acwzmain.mde"
    WizHook.Key = 51488399
    Debug.Print WizHook.AccessWizFilePath(strFilepath)
End Sub


Code des Buttons:
Private Sub Befehl2390_Click()
Me!txt_dateilink = OrdnerAuswaehlen
End Sub

Tabellenname: tbl_mastertabelle
Tabellenfeld wo der Link eingetragen wird: txt_dateilink

MaggieMay

Hallo,
ZitatGibt es irgendwie die Möglichkeit das so einzustellen, dass immer der zuletzt verwendete Pfad standardmäßig geöffnet wird?
die einzige Möglichkeit die ich da sehe wäre, jeweils den letzten Pfad in einer Hilfstabelle zu speichern.
Freundliche Grüße
MaggieMay

daolix

Hallo hier mal ein Vorschlag wie deine Funktion OrdnerAuswaehlen das Dialogfenster mit dem letzen Path startet. Funktioniert aber nur innerhalb der Laufzeit der Datenbank.
Option Compare Database
Option Explicit

[color=green]Private m_sPath As String[/color]

Public Function OrdnerAuswaehlen() As String
    Dim strFile As String
    Dim lngHwndOwner As Long
    Dim strDlgTitle As String
    Dim strOpenTitle As String
    Dim strInitialDir As String
    Dim strFilter As String
    Dim lngFilterIndex As Long
    Dim lngView As Long
    Dim lngFlags As Long
    Dim bolFOpen As Boolean
   
    lngHwndOwner = Application.hWndAccessApp
    strDlgTitle = "Ordner auswählen"
    strOpenTitle = "Auswählen"
    [color=orange]strInitialDir = IIf(Len(m_sPath), m_sPath, CurrentProject.Path)[/color]
    strFilter = ""
    lngFilterIndex = 0
    lngView = 0
    lngFlags = 32
    bolFOpen = True
   
    WizHook.Key = 51488399
    Call WizHook.GetFileName(lngHwndOwner, "Microsoft Access", strDlgTitle, strOpenTitle, strFile, strInitialDir, strFilter, lngFilterIndex, lngView, lngFlags, bolFOpen)
    OrdnerAuswaehlen = strFile
   
   [color=green] If Len(strFile) Then m_sPath = strFile[/color]
End Function

Die anderen Funktionen sind ähnlich anzupassen, nur müsste hier u.U. der Dateiname abgeschitten werden.

Traut91

Vielen Dank Daolix. Es funktioniert bestens :)