Wenn Sie mit Access als Frontend arbeiten und mit dem SQL Server als Backend, kommen Sie nicht umhin, sich mit Verbindungszeichenfolgen, dem Verknüpfen von Tabellen oder dem Ausprobieren und Absetzen von SQL-Abfragen direkt an den SQL Server auseinanderzusetzen. Dieser Beitrag stellt drei Tools vor, die Sie direkt in Ihre Access-Anwendung importieren können und mit denen Sie komfortabel Verbindungen definieren, Tabellen verknüpfen und SQL-Abfragen an den SQL Server schicken können.
Verbindungszeichenfolgen verwalten
Optimalerweise gibt es immer nur eine Verbindungszeichenfolge innerhalb einer Datenbank. Wenn Sie jedoch eine Anwendung entwickeln, von der Sie immer wieder Zwischenstände an die Benutzer verteilen, sei es zum Testen oder für den Produktivbetrieb, werden Sie mehrere verschiedene Verbindungszeichenfolgen nutzen müssen – also etwa eine für das Entwicklungssystem und eine für die Produktivsysteme.
üblicherweise macht das Zusammenstellen von Verbindungszeichenfolgen immer wieder Mühe, denn wer kann sich schon die verschiedenen Namen von SQL Server-Instanzen, die Parameter für die Windows- und die SQL Server-Authentifizierung oder die in der Verbindungszeichenfolge anzugebene Bezeichnung für den Treiber merken
Hier setzt das Formular frmVerbindungszeichenfolgen aus Bild 1 an, das Sie ganz einfach in die gewünschte Datenbank ziehen können – nebst einigen weiteren Objekten, die wir weiter unten noch aufführen.
Bild 1: Das Formular frmVerbindungszeichenfolgen
In diesem Formular können Sie mit den Schaltflächen im unteren Bereich die aktuelle Verbindungszeichenfolge testen, die Verbindungszeichenfolge als Standard setzen, eine neue Verbindungszeichenfolge erstellen, die aktuelle Verbindungszeichenfolge als neue Verbindungszeichenfolge kopieren oder den aktuellen Eintrag einfach löschen.
Darüber finden Sie beispielsweise das Kombinationsfeld Schnellauswahl, mit dem Sie direkt eines der bereits angelegten Elemente auswählen und seine Daten im Formular anzeigen können (s. Bild 2).
Bild 2: Auswahl einer Verbindungszeichenfolge über die Bezeichnung
Mit dem Feld Bezeichnung legen Sie die Bezeichnung fest, über die Sie die einzelnen Einträge per Schnellauswahl selektieren können. Das Feld SQL Server erwartet den Namen des Servers, im Falle der LocalDB-Standardinstanz also beispielsweise (localdb)\MSSQLLocalDB.
Die Option Port erwartet die Angabe des Ports, über den auf den SQL Server zugegriffen wird. Dies ist standardmäßig der Wert 3306. Das Kontrollkästchen LocalDB können Sie aktivieren, wenn Sie über eine LocalDB-Instanz statt über eine SQL Server-Instanz auf die Datenbank zugreifen wollen.
Das darunter liegende Kombinatonsfeld Datenbank erlaubt die Auswahl der Datenbanken für den aktuellen SQL Server. Um dieses Kombinationsfeld zu füllen, klicken Sie auf die Schaltfläche rechts vom Kombinationsfeld. Anschließend können Sie unter den verfügbaren Datenbanken wählen (s. Bild 3).
Bild 3: Auswahl einer Datenbank
Die folgenden Eingestellungen betreffen die Sicherheit. Hier wählen Sie zunächst, ob Sie die Windows-Authentifizierung oder die SQL Server-Authentifizierung nutzen wollen. Zur Erläuterung nochmal der Unterschied: Wenn Sie die Windows-Authentifizierung nutzen, werden die Windows-Anmeldedaten als Benutzerdaten verwendet. Dies ist praktischer, da Sie sich auf diese nicht noch einmal separat mit weiteren Daten am SQL Server anmelden müssen. Die SQL Server-Authentifizierung verlangt genau dies: In diesem Fall werden im SQL Server für jeden Benutzer, der auf die Daten zugreifen soll, nochmals neue Benutzerdaten inklusive Kennwort angelegt. Diese müssen dann entweder beim Zugriff angegeben werden oder Sie speichern diese irgendwo in der Frontend-Datenbank, um sie für den Zugriff in die Verbindungszeichenfolge zu integrieren.
Wenn Sie die SQL Server-Authentifizierung wählen, können Sie die Zugangsdaten, also den Benutzernamen und das Kennwort, in die beiden gleichnamigen Felder im Formular frmVerbindungszeichenfolgen eintragen.
Mit dem Kombinationsfeld Treiber wählen Sie den Treiber für den Zugriff auf die Datenbank aus. Hier können Sie nicht nur SQL Server-Treiber angeben, sondern auch Treiber etwa für MySQL (s. Bild 4). Die Treiber werden übrigens in der Tabelle tblTreiber gespeichert, die Sie manuell pflegen müssen.
Bild 4: Auswahl des gewünschten Treibers
Mit dem Kontrollkästchen Log geben Sie an, ob der Parameter, der festlegt, ob die Interaktion mit dem Server geloggt werden soll, hinzugefügt werden soll. Dieser Teil lautet dann so:
LOG_QUERY=1
Diese Option ist nur für MySQL vorgesehen, nicht für den SQL Server.
Das Textfeld Verbindungszeichenfolge zeigt dann jeweils den aktuellen, den Angaben entsprechenden String für die Verbindungszeichenfolge.
Mit einem Klick auf die Schaltfläche Testen prüfen Sie, ob die Verbindungszeichenfolge funktioniert. Ist dies der Fall, haben Sie die Grundlage geschaffen, mit den übrigen beiden Tools entweder Verknüpfungen zu Tabellen herzustellen oder direkt SQL-Befehle an die festgelegte Datenbank zu schicken.
Außerdem können Sie die in den Beiträgen RDBMS-Zugriff per VBA: Verbindungen (www.access-im-unternehmen.de/1054) und RDBMS-Zugriff per VBA: Daten abfragen (www.access-im-unternehmen.de/1062) vorgestellten Techniken nutzen, die auf die Funktionen Standardverbindungszeichenfolge oder VerbindungszeichenfolgeNachID zugreifen. Diese nutzen nämlich die Tabelle tblVerbindungszeichenfolgen, die auch vom Formular frmVerbindungszeichenfolgen gefüllt wird.
Tabellen verknüpfen
Das zweite sehr praktische Formular der Tool-Sammlung ist das Formular frmTabellenVerknuepfen aus Bild 5. Es erlaubt im oberen Bereich die Auswahl einer der in der Tabelle tblVerbindungszeichenfolgen gespeicherten Verbindungen. Nach der Auswahl liest sie automatisch alle Tabellen der dort festgelegten Datenbank ein und zeigt diese im Listenfeld mit der Bezeichnung Tabellen an. Rechts neben dem Kombinationsfeld finden Sie noch eine kleine Schaltflächen mit drei Punkten (…) als Beschriftung. Wenn Sie darauf klicken, öffnen Sie automatisch das bereits erwähnte Formular frmVerbindungszeichenfolgen.
Bild 5: Verknüpfen von Tabellen
Dieses erscheint dann neben dem aufrufenden Formular und zeigt die Daten der aktuell im Formular frmTabellenVerknuepfen ausgewählten Verbindungszeichenfolge an. Sie können die Daten nun bearbeiten, aber auch über die Schnellauswahl eine andere Verbindungszeichenfolge im Formular frmVerbindungszeichenfolgen auswählen. Wenn Sie das Formular frmVerbindungszeichenfolgen dann schließen, wird die gewählte Verbindungszeichenfolge im entsprechenden Kombinationsfeld des Formulars frmTabellenVerknuepfen angezeigt (s. Bild 6).
Bild 6: öffnen des Formulars frmVerbindungszeichenfolgen zur Ansicht und Auswahl einer Verbindungszeichenfolge
Wenn die Datenbank noch keine verknüpften Tabellen enthält, können Sie diese nun hinzufügen. Dazu markieren Sie einfach die zu verknüpfenden Tabellen im Listenfeld. Nach Abschluss der Auswahl klicken Sie auf die Schaltfläche Tabellen verknüpfen, um die Verknüpfungen hinzuzufügen. Das Listenfeld hat ein paar interessante Features. Das erste ist, dass Sie damit mehrere Tabellen gleichzeitig auswählen können, und zwar wie bei der Auswahl im Windows Explorer. Um mehrere zusammenhängende Einträge zu selektieren, klicken Sie den ersten Eintrag an und dann bei gedrückter Umschalttaste den letzten Eintrag. Wenn Sie nicht zusammenhängende Einträge auswählen möchten, halten Sie einfach die Strg-Taste gedrückt. Dann können Sie durch Anklicken einzelne Einträge auswählen, aber auch wieder aus der Auswahl entfernen.
Das zweite, wesentlich interessantere Feature offenbart sich erst, wenn Sie das erste Mal einige Tabellenverknüpfungen zur Datenbank hinzugefügt haben. Wenn Sie dann das Formular frmTabellenVerknuepfen öffnen, hebt es die Tabellennamen der Tabellen, die bereits als Verknüpfung in der Datenbank vorhanden sind, direkt mit einer entsprechenden Markierung hervor (s. Bild 7). Wozu das nützlich ist Wenn Sie mit einer Frontend-Datenbank auf eine SQL Server- oder auch MySQL-Datenbank zugreifen, die sehr viele Tabellen enthält, brauchen Sie nicht immer Zugriff auf alle Tabellen des Backends.
Bild 7: Das Listenfeld zeigt die bereits vorhandenen Verknüpfungen schwarz hinterlegt an.
Bei mir ist das beispielsweise der Fall bei der Kundenverwaltung, die über einige Verknüpfungen zu den Tabellen meines Webshopsystems verfügt – aber ich muss längst nicht auf alle Backendtabellen zugreifen! Wenn ich dann das Formular frmTabellenverknuep-fungen aufrufe, um die Verknüpfungen beispielsweise nach einer änderung der Adresse des Internetservers wieder zu aktualisieren, dann brauche ich nicht immer alle Tabellen neu auszuwählen, sondern das Listenfeld selektiert mir die bisher verwendeten Tabellen direkt vor. Auf diese Weise brauche ich nur noch einen Mausklick auf die Schaltfläche Tabellen verknüpfen, um die Tabellen neu einzubinden.
SQL-Anweisungen zum SQL Server schicken
Das dritte und letzte Formular im Bunde ist das Formular frmSQLBefehle (s. Bild 8). Seine Aufgabe ist das Erfassen und Absenden von SQL-Anweisungen direkt zum SQL Server.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo