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

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 2/2015.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

RDBMS-Tools als Add-In nutzen

Bild 1: Tabelle mit Add-In-Informationen

Die Beiträge RDBMS-Tools: Verbindungen verwalten und RDBMS-Tools: Tabellen verknüpfen stellen zwei praktische Formulare vor, die Sie vor der Benutzung in die Datenbank importieren müssen, bevor Sie diese dort nutzen können. Wenn Sie diese jedoch in verschiedenen Anwendungen einsetzen beziehungsweise immer verfügbar haben möchten, können Sie diese auch in Form von Add-Ins betreiben. Dazu sind allerdings einige Änderungen an den Formularen und weitere Ergänzungen notwendig. Welche das sind, zeigen wir Ihnen im vorliegenden Beitrag.

Um die Formulare einer Access-Anwendung als Add-In in anderen Access-Anwendungen verfügbar zu machen, indem Sie diese über das Ribbon-Menü Datenbanktools|Add-Ins|Add-Ins auswählen und anklicken, müssen Sie Access zunächst mitteilen, dass die entsprechenden Einträge dort angezeigt werden sollen. Dazu fügen Sie der Datenbank eine Tabelle namens USysRegInfo hinzu, die wie in Bild 1 aussieht. Im Gegensatz zu einigen anderen Beispielen für Add-Ins, die Sie bisher in Access im Unternehmen kennengelernt haben, wollen wir hier allerdings gleich zwei Add-Ins in einer Add-In-Datei unterbringen.

Tabelle mit Add-In-Informationen

Bild 1: Tabelle mit Add-In-Informationen

Deshalb gibt es jeden der fünf Einträge der Tabelle USysRegInfo auch zweimal – je einmal für das Add-In mit dem Eintrag RDBMSTools: Tabellen verknüpfen und für das Add-In mit dem Eintrag RDBMS-Tools: Verbindungen verwalten. Die Datensätze der Tabelle entsprechen prinzipiell Name-Wert-Paaren, wobei ValName den Namen und Value den Wert aufnimmt.

Dabei gibt Expression die beim Auswählen des Eintrags auszuführende Funktion an, Library die Datenbank, welche die Funktion enthält, Description liefert eine Beschreibung und Version gibt an, für welchen Access-Datenbanktyp das Add-In geeignet ist.

Der Wert 3 besagt hier, dass das Add-In nur für reine Access-Datenbanken, nicht jedoch für Access-Projekte (.adp-Dateien) zur Verfügung steht.

Nachdem Sie eine Datenbank mit dieser Tabelle ausgestattet und diese mit der Dateiendung .mda/.accda versehen haben, rufen Sie den Add-In-Manager auf (Ribbon-Eintrag Datenbanktools|Add-Ins|Add-Ins|Add-In-Manager). Klicken Sie auf die Schaltfläche Neues hinzufügen... und wählen Sie im folgenden Dialog die Add-In-Datei aus. Anschließend finden Sie diese wie in Bild 2 mit einigen weiteren Informationen im Add-In-Manager in der Liste der verfügbaren Add-Ins vor.

Installieren des neuen Add-Ins

Bild 2: Installieren des neuen Add-Ins

Schließlich tauchen beim nächsten Start von Access zwei neue Einträge in der Liste der verfügbaren Add-Ins auf (s. Bild 3).

Auswahl der beiden neuen Add-Ins

Bild 3: Auswahl der beiden neuen Add-Ins

Add-In-Einträge mit Leben füllen

Nun soll der erste Eintrag das Formular frmTabellenVerknuepfen öffnen, das wir im Beitrag RDBMS-Tools: Tabellen verknüpfen vorgestellt haben und der zweite Eintrag das Formular frmVerbindungszeichenfolgen aus dem Beitrag RDBMS-Tools: Verbindungen verwalten.

Dazu fehlt noch eine wichtige Entscheidung: Die beiden Tools greifen ja auf die beiden Tabellen tblVerbindungszeichenfolgen und tblTreiber zu, um die Verbindungszeichenfolgen erstens zu verwalten und zweitens zum Zwecke der Verknüpfung von Tabellen auf diese zuzugreifen. Nun stellt sich die Frage, wo wir diese Tabellen speichern sollen: In der Add-In-Datenbank oder in der Datenbank, in der wir die Verknüpfungen zu den RDBMS-Tabellen anlegen möchten.

Wir entscheiden uns dafür, die Tabellen in der jeweiligen Zieldatenbank zu installieren, damit die Verbindungsdaten für die jeweilige Backend-Datenbank immer direkt im entsprechenden Frontend gespeichert sind. Außerdem können Sie so auch noch VBA-Code zur Anwendung selbst hinzufügen, der sich die Inhalte der Tabelle tblVerbindungszeichenfolgen zunutze macht.

Wir müssen also beim Starten einer der beiden Add-In-Funktionen in der Datei RDBMSTools.mda jeweils prüfen, ob die Tabellen tblVerbindungszeichenfolgen und tblTreiber bereits in der aufrufenden Datenbank enthalten sind, und diese gegebenenfalls dort hinzufügen.

Weiter oben in der Tabelle USysRegInfo haben wir für die beiden Add-Ins die Funktionen AutostartTabellenVerknuepfen und AutostartVerbindungenVerwalten angegeben. Diese werden ausgelöst, wenn der Benutzer eines der Add-Ins über den entsprechenden Ribbon-Eintrag aufruft.

Beide sollen beim Start zunächst eine Prozedur namens TabellenErstellen aufrufen, die sich um die Tabellen kümmert, und dann erst das Formular für die jeweilige Add-In-Funktion. Die beiden VBA-Funktionen sehen wir folgt aus:

Public Function AutostartTabellenVerknuepfen()
     TabellenErstellen
     DoCmd.OpenForm "frmTabellenVerknuepfen"
End Function
Public Function AutostartVerbindungenVerwalten()
     TabellenErstellen
     DoCmd.OpenForm "frmVerbindungszeichenfolgen"
End Function

Die Prozedur TabellenErstellen finden Sie in Listing 1. Die Prozedur legt zunächst den Namen der Zieltabelle mit tblVerbindungszeichenfolgen fest und versucht, bei deaktivierter Fehlerbehandlung eine Tabelle dieses Namens in der aufrufenden Datenbank zu referenzieren. Dabei ist zu beachten, dass wir die aufrufende Datenbank mit der Variablen dbClient referenzieren, die wir mit der Funktion CurrentDb füllen.

Public Function TabellenErstellen()
     Dim dbClient As DAO.Database, dbAddIn As DAO.Database
     Dim strTabelle As String
     Dim tdf As DAO.TableDef, idx As DAO.Index, fld As DAO.Field
     Set dbClient = CurrentDb
     Set dbAddIn = CodeDb
     On Error Resume Next
     strTabelle = "tblVerbindungszeichenfolgen"
     Set tdf = dbClient.TableDefs(strTabelle)
     On Error GoTo 0
     If tdf Is Nothing Then
         dbClient.Execute "SELECT * INTO " & strTabelle & " FROM tblVerbindungszeichenfolgen IN '" & dbAddIn.Name _
             & "'", dbFailOnError
         dbClient.TableDefs.Refresh
         Set tdf = dbClient.TableDefs(strTabelle)
         Set idx = tdf.CreateIndex("PK" & strTabelle)
         With idx
             Set fld = idx.CreateField("VerbindungszeichenfolgeID")
             .Fields.Append fld
             .Primary = True
         End With
         tdf.Indexes.Append idx
         Set idx = tdf.CreateIndex("UK" & strTabelle)
         With idx
             Set fld = idx.CreateField("Bezeichnung")
             .Fields.Append fld
             .Unique = True
         End With
         tdf.Indexes.Append idx
         dbClient.Execute "DELETE FROM " & strTabelle, dbFailOnError
     End If
     Set tdf = Nothing
     On Error Resume Next
     strTabelle = "tblTreiber"
     Set tdf = dbClient.TableDefs(strTabelle)
     On Error GoTo 0
     If tdf Is Nothing Then

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.