Barvna shema: Temna
Trenutno dejavna stran: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » Anwendung und Verbindungen » WklLinkManager

WklLinkManager

WklLinkManager hält die verknüpften ODBC-Tabellen eines Access-Frontends in Übereinstimmung mit einer Konfiguration, die im Frontend selbst gespeichert ist, je Profil wie DEV, TEST und PROD. Die Anwendung ruft ihn beim Start auf, um ihre Tabellen mit den richtigen Quellen zu verknüpfen; Entwickler pflegen die Konfiguration in einem Designer, den das Add-In WKL Extensions aus dem Menüband von Access öffnet.

Erste Schritte

Häufige Aufgaben

Schaubild

graph TD
    subgraph FE["Frontend (ACCDB / ACCDE)"]
        C["USysConnection – Verbindungszeilen je Profil"]
        T["USysLinkedTable – zu verknüpfende Tabellen"]
        L["Verknüpfte Tabellen – tblCustomer, tblOrder …"]
    end
    A["AutoExec: EnsureLinks 'PROD'"] --> M
    D["Datenbanktools › Add-Ins › WKL Linked Tables Manager (Designer)"] --> M
    C --> M["WklLinkManager"]
    T --> M
    M -- "anlegen, reparieren, neu verknüpfen (DAO)" --> L
    M -- "testen, Tabellen auflisten (ODBC)" --> S[("ODBC-Quellen – SQL Server, Wkl OData …")]
    L -. "ODBC" .-> S

Wichtige Funktionen

  • Konfiguration in zwei lokalen Tabellen: Verbindungen in USysConnection, Tabellen in USysLinkedTable; Access blendet beide im Navigationsbereich aus, und sie gehen mit dem Frontend in die ACCDE ein.
  • Profile: Derselbe Verbindungsname hat eine Zeile je Profil; eine Zeile ohne Profil gilt für jedes Profil. Ein einziger Aufruf stellt alle Tabellen auf ein anderes Profil um.
  • Prüfen vor dem Ändern: Check listet jede Abweichung auf (fehlend, andere Quelle, andere Remote-Tabelle, lokale Tabelle im Weg, keine Verbindung, nicht verwaltete Verknüpfung), ohne etwas zu ändern.
  • Reparatur beim Start: EnsureLinks legt fehlende Verknüpfungen an und repariert falsche; Tabellen, die bereits stimmen, bleiben unberührt. RelinkAll und Relink verknüpfen auf Anforderung neu.
  • Verknüpfungen behalten ihre Eigenschaften: Eine neue Verbindung wird an der bestehenden Verknüpfung gesetzt; Beschreibungen, Formate und Nachschlagefelder der verknüpften Tabelle bleiben deshalb erhalten.
  • Zerstört nie Daten: Eine lokale Tabelle mit einem konfigurierten Namen wird nie ersetzt; eine Verknüpfung, die neu angelegt werden muss, entsteht zuerst unter einem temporären Namen.
  • Anmeldedaten wie in Access: Windows-Anmeldung, ein gespeichertes Kennwort oder eine Abfrage durch den Treiber, jeweils über die Parameter der Verbindung. Ein gespeichertes Kennwort steht im Klartext in USysConnection und in jeder Verknüpfung, auch in einer ACCDE; ziehen Sie die Windows-Anmeldung vor.
  • Ohne Dialoge: Verbindungstests und die Liste der Remote-Tabellen zeigen nie den Anmeldedialog eines Treibers.
  • Designer mit den Seiten Verbindungen („Auf alle anwenden“ für Treiber, Server, Datenbank und Schema), Tabellen, Profile sowie Prüfen und abgleichen; geöffnet über das Add-In oder mit ShowDesigner.
  • Bestehende Frontends: ImportLinks (im Designer Vorhandene übernehmen) übernimmt die ODBC-Verknüpfungen, die ein Frontend bereits hat, in die Konfiguration.

Grundkonzepte

Die Konfiguration sind Daten des Frontends. Die zu verknüpfenden Tabellen und ihre Quellen sind Zeilen, kein Code. Eine Verteilung ändert Zeilen (oder nur das Profil, das die Anwendung nennt), nie VBA. Die Felder beider Tabellen beschreiben die Hinweise zur Klasse in der Referenz (Englisch).

Eine Verbindung ist ein Name; das Profil wählt die Zeile. USysLinkedTable.ConnectionID verweist auf eine Verbindungszeile, maßgeblich ist aber deren Name. Für das Profil TEST verwendet der Manager die Zeile dieses Namens mit Environment = TEST oder die Zeile dieses Namens ohne Profil. Ein neues Profil bedeutet daher neue Verbindungszeilen; die Tabellen bleiben unberührt.

Welches Profil. Ein Vorgang verwendet das als Argument übergebene Profil, sonst die Eigenschaft Environment, sonst das Profil, mit dem die Tabellen derzeit verknüpft sind (DetectEnvironment). Gibt es Profile und passen die Tabellen zu keinem davon eindeutig, löst der Manager einen Fehler aus, statt zu raten; so verknüpft eine Anwendung nie versehentlich mit der Produktion.

Vergleichen, dann nur das Abweichende ändern. Jeder Vorgang bildet zuerst die gewünschte Verbindungszeichenfolge jeder aktivierten Tabelle und vergleicht sie mit der Verknüpfung im Frontend. Schlüsselwörter, die Treiber oder Access von sich aus hinzufügen, werden ignoriert; ein gespeichertes Kennwort zählt. Nur abweichende Tabellen werden geschrieben; EnsureLinks bei jedem Start kostet deshalb einen Vergleich.

Der Designer arbeitet auf einer Kopie. Bearbeitungen bleiben im Fenster, bis Sie auf OK oder Übernehmen klicken; dann wird die Konfiguration geprüft und in einer Transaktion geschrieben. Verknüpft wird immer mit der gespeicherten Konfiguration; die Seite Prüfen und abgleichen speichert ausstehende Bearbeitungen zuerst.

Runtime. Die Klasse arbeitet in ACCDB, ACCDE und Access Runtime. Die Runtime hat keine Add-Ins und kein Designermenü; Anwendungen rufen die Klasse dort aus ihrem eigenen Code auf.

Administration

Fehlerbehebung

Für Entwickler

Verwandte Themen

Keine

de/wiki/msaccess/comctl/application-and-connections/link-manager/start.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille