Tabellen eines Frontends je Profil verknüpfen
In diesem Tutorial konfigurieren Sie ein Frontend mit einer SQL-Server-Verbindung in zwei Profilen, DEV und TEST,
fügen eine Tabelle hinzu, verknüpfen sie mit dem Designer und lassen die Anwendung ihre Tabellen bei jedem Start
verknüpfen. Das dauert etwa fünfzehn Minuten.
Voraussetzungen
- Microsoft 365 Access oder Access Runtime, in 32 oder 64 Bit, mit der WKL Forms Object Library 1.23 oder höher, installiert und für den aktuellen Windows-Benutzer registriert (Freigegebenes Paket installieren).
- Das Add-In WKL Extensions ist installiert, sodass Datenbanktools › Add-Ins den Eintrag WKL Linked Tables Manager anbietet:
tools\install-addin.ps1aus dem Release-Paket (1.55 oder höher) installiertaddin\WklExtensions.accdafür den aktuellen Benutzer. Ohne das Add-In öffnetWklLinkManager.ShowDesignerdenselben Designer aus VBA. - Der Microsoft ODBC Driver 18 for SQL Server in der Bitversion von Access.
- Zwei SQL-Server-Datenbanken, die Sie mit Ihrer Windows-Anmeldung öffnen können, hier
SalesDevundSalesTestauf dem Serversql01, jeweils mit einer Tabelledbo.Customer. Jeder Server ist geeignet, auch SQL Server Express LocalDB ((localdb)\MSSQLLocalDB). - Ein Frontend (ACCDB) an einem vertrauenswürdigen Speicherort.
Schritte
1. Designer öffnen
Öffnen Sie das Frontend und wählen Sie Datenbanktools › Add-Ins › WKL Linked Tables Manager. Der Designer öffnet sich für die geöffnete Datenbank. Er legt noch nichts an; die Konfigurationstabellen entstehen beim ersten Speichern.
2. Verbindung für DEV hinzufügen
Klicken Sie auf der Seite Verbindungen auf Neue Verbindung und füllen Sie die Zeile aus:
| Spalte | Wert |
|---|---|
| Name | Sales |
| Treiber | ODBC Driver 18 for SQL Server (die Spalte schlägt die installierten Treiber vor) |
| Server | sql01 |
| Datenbank | SalesDev |
| Schema | dbo |
| Parameter | Trusted_Connection=Yes;Encrypt=No |
| Profil | DEV |
Markieren Sie die Zeile und klicken Sie auf Verbindung testen. Die Meldung unter der Symbolleiste gibt an, ob sich die Datenbank öffnen lässt; es erscheint kein Anmeldedialog. Klicken Sie auf Übernehmen, um zu speichern.
3. Profil TEST anlegen
Markieren Sie auf der Seite Profile die Zeile DEV in der Liste, klicken Sie auf Profil kopieren …, geben Sie
TEST ein und klicken Sie auf OK. Das neue Profil erhält eine Kopie jeder Verbindungszeile von DEV. Wählen Sie
zurück auf Verbindungen im Filter Profil den Eintrag TEST, setzen Sie dann in der Leiste Auf alle
anwenden für alle angezeigten Zeilen den Wert Datenbank = SalesTest und klicken Sie auf Anwenden. Bei
vielen Verbindungen stellt dieser eine Schritt alle um; dasselbe funktioniert für Treiber, Server und Schema. Klicken
Sie auf Übernehmen.
4. Tabelle hinzufügen
Klicken Sie auf der Seite Tabellen auf Remote-Tabellen hinzufügen …, wählen Sie die Verbindung Sales,
setzen Sie ein Häkchen bei dbo.Customer und klicken Sie auf Hinzufügen. Eine Zeile mit dem lokalen Namen
Customer erscheint; ändern Sie ihn in tblCustomer. Die Spalte Status zeigt, dass die Tabelle noch nicht
verknüpft ist.
5. Tabellen verknüpfen
Wählen Sie auf der Seite Prüfen und abgleichen das Profil DEV und klicken Sie auf Prüfen: Die Liste zeigt
tblCustomer als fehlend. Klicken Sie auf Alle aktualisieren und dann auf OK. Der Navigationsbereich zeigt
tblCustomer als verknüpfte Tabelle; sie liest aus SalesDev.
6. Bei jedem Start verknüpfen
Legen Sie ein Standardmodul mit dieser Funktion an:
Public Function StartUp()
Dim links As New WklLinkManager
On Error GoTo Failed
' The profile of this installation: from the command line (/cmd TEST), else DEV.
links.EnsureLinks IIf(Len(Command()) > 0, Command(), "DEV")
Exit Function
Failed:
MsgBox "Die Tabellen konnten nicht verknüpft werden:" & vbCrLf & links.LastMessage, vbExclamation
End Function
Setzen Sie den Verweis WKL Forms Object Library (Extras › Verweise im VBA-Editor), falls er fehlt. Legen Sie dann
ein Makro mit dem Namen AutoExec an, mit der Aktion AusführenCode und dem Funktionsnamen StartUp().
7. Profil umschalten
Schließen Sie das Frontend und starten Sie es mit /cmd TEST, zum Beispiel über eine Verknüpfung:
"%ProgramFiles(x86)%\Microsoft Office\root\Office16\MSACCESS.EXE" "%LOCALAPPDATA%\Apps\Sales.accdb" /cmd TEST
Erwartetes Ergebnis
Beim Start mit /cmd TEST ist tblCustomer mit SalesTest verknüpft; ohne /cmd ist sie wieder mit SalesDev
verknüpft. Ein zweiter Start im selben Profil ändert nichts, weil die Verknüpfungen bereits stimmen. Die Designerseite
Profile zeigt das Profil, mit dem die Tabellen verknüpft sind.