Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Tabellen verknpfen per VBA

Viele Anwendungen erfordern die Verknpfung mit Tabellen fremder Datenbanken. Der meistverbreitete Fall ist wohl die Verwendung einer Backenddatenbank als Datenquelle fr eine Datenbankanwendung, aber auch der Import bestehender Daten ist ein Anlass fr die Verknpfung von Tabellen. Nachfolgend lernen Sie eine VBA-Funktion kennen, mit der Sie Tabellen auf die Schnelle verknpfen knnen.

Verknpfen per VBA-Funktion

Die Funktion LinkTable stellt die Verknpfung zu einer Tabelle in einer fremden Datenbank her. Dabei werden die folgenden Funktionsparamter erwartet:

strDatabaseSource: Pfad und Name der fremden Datenbank
strTableSource: Name der zu verknpfenden Tabelle
strTableDestination: Name der Verknpfung in der aktuellen Datenbank

Die Funktion erstellt zunchst Objektvariablen fr die fremde und die aktuelle Datenbank sowie fr ein TableDef-Objekt zur Aufnahme der Verknpfung. Fr dieses werden anschlieend die genauen Eigenschaften wie die Herkunftsdatenbank und -tabelle festgelegt. Mit der Append-Methode der TableDefs-Auflistung wird die Verknpfung der Datenbank hinzugefgt.

Die rudimentre Fehlerbehandlung sorgt lediglich dafr, dass beim Auftreten eines Fehlers als Funktionswert der Wert False zurckgegeben sowie die verwendeten Objektvariablen freigegeben werden.

Public Function LinkTable(strDatabaseSource As String, _

    strTableSource As String, strTableDestination As String)

    Dim dbSource As DAO.Database

    Dim dbTarget As DAO.Database

    Dim tdf As DAO.TableDef

    On Error GoTo LinkTable_Err

    Set dbSource = DBEngine.Workspaces(0).OpenDatabase(strDatabaseSource)

    Set dbDestination = CurrentDb

    Set tdf = dbDestination.CreateTableDef(strTableDestination)

    tdf.Connect = ";DATABASE=" & strDatabaseSource

    tdf.SourceTableName = strTableSource

    dbDestination.TableDefs.Append tdf

    LinkTable = True

LinkTable_Exit:

    dbSource.Close

    Set dbSource = Nothing

    Set dbDestination = Nothing

    Set tdf = Nothing

    Exit Function

LinkTable_Err:

    LinkTable = False

    Resume LinkTable_Exit

End Function

© 2003-2015 André Minhorst Alle Rechte vorbehalten.