Zum Inhalt dieser Seite

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")
 
Home