1.3 Pfad feststellen
Um den Pfad zu einer Tabelle festzustellen, bietet sich eine Funktion, die man in einem globalen Modul ablegt, an. Das Modul muss beim Speichern anders als die Funktion benannt werden (s. auch Anleitung auf DBWiki). Der Code benötigt einen Verweis auf DAO - s. dazu FAQ 7.11:
Public Function fctTabPath(strTab As String, _ Optional strType As String = "Komplett") _ As String On Error GoTo fctTabPath_Err Dim db As DAO.Database Dim rs As DAO.Recordset Dim strSQL As String Dim strCon As String strSQL = "SELECT [Name], Type, Database " & _ "FROM MSysObjects " & _ "WHERE [Name] Not Like 'Msys*' AND (Type=1 Or Type=6) AND " & _ "[Name]='" & strTab & "';" Set db = CurrentDb Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot) With rs If .EOF Then strCon = "#ungültiger Tabellenname#" Else strCon = Nz(!Database, db.Name) If strType <> "Komplett" Then strCon = Left(strCon, Len(strCon) - Len(Dir(strCon))) End If End If End With fctTabPath_Exit: rs.Close Set rs = Nothing Set db = Nothing fctTabPath = strCon Exit Function fctTabPath_Err: strCon = "#Fehler - " & Err.Number & "#" Resume fctTabPath_Exit End Function
Der Name der Datenbank, aus der die Tabelle stammt, ist dann global mit folgender Anweisung ermittelbar. Wenn wirklich nur der Pfad festzustellen ist, kann man einen beliebigen 2. Parameter (außer "Komplett") verwenden. Hier 2 Beispiele für Steuerelementinhalte:
=fctTabPath("NameDerTabelle") =fctTabPath("NameDerTabelle";"a")
