Color scheme: Light
You are here: start » de » Dokumentation » Datenintegration und Datenzugriff » WKL OData-ODBC-Treiber » Erste Schritte mit dem OData-ODBC-Treiber » Eine Tabelle in Access verknüpfen

Eine Tabelle in Access verknüpfen

In dieser Einführung verknüpfen Sie eine Tabelle eines OData-Dienstes in Access, ohne VBA, und bearbeiten sie wie eine Tabelle auf einem SQL Server. Sie brauchen dafür etwa zehn Minuten.

Voraussetzungen

  • Microsoft Access bzw. die Access-Runtime (Access 2010 oder neuer, 32 oder 64 Bit; siehe Voraussetzungen); die Bitbreite (32 oder 64 Bit) steht unter Datei > Konto > Info zu Access
  • der Treiber Wkl OData in derselben Bitbreite wie Access; das Installationspaket Wkl.Data.OData.Odbc-<Version>.msi installiert beide Bitbreiten und braucht Administratorrechte
  • die Adresse eines OData-v4-Dienstes, etwa des Datendienstes, und eine Anmeldung dort; diese Einführung verwendet die Windows-Anmeldung, der Dienst muss also Ihr Windows-Konto oder eine Ihrer Gruppen kennen

Schritte

1. Den Verknüpfungsassistenten öffnen

  1. Öffnen Sie in Access eine Datenbank, oder legen Sie eine neue an.
  2. Wählen Sie Externe Daten > Neue Datenquelle > Aus anderen Quellen > ODBC-Datenbank aus.
  3. Wählen Sie Erstellen Sie eine Verknüpfung zur Datenquelle, indem Sie eine verknüpfte Tabelle erstellen aus, und bestätigen Sie mit OK.

    Dialog „Externe Daten – ODBC-Datenbank“ mit den Optionen Importieren und „Erstellen Sie eine Verknüpfung zur Datenquelle, indem Sie eine verknüpfte Tabelle erstellen“, die zweite ist ausgewählt

2. Eine Datenquelle für den Dienst anlegen

  1. Wechseln Sie im Dialog Datenquelle auswählen zur Registerkarte Computerdatenquelle, und wählen Sie Neu aus.
  2. Wählen Sie Benutzerdatenquelle und als Treiber Wkl OData aus, und schließen Sie den Assistenten mit Fertig stellen ab. Der Dialog des Treibers Datenquelle für OData einrichten öffnet sich.
  3. Geben Sie die Verbindung ein:

    FeldEingabe
    Datenquelleein Name, etwa Fachdaten
    Dienstadressedie Stammadresse, etwa https://daten.example.com/odata/v4/fachdaten/dbo/
    AuthentifizierungWindows-Authentifizierung

    Kennen Sie nur die Adresse des Dienstes, aber nicht die Datenbank: Wechseln Sie oben zu Durchsuchen, geben Sie die Adresse bis /odata/v4/ ein, wählen Sie Suchen aus, und wählen Sie im Baum Datenbank und Schema aus. Der Dialog übernimmt die Dienstadresse. Dialog „Datenquelle für OData einrichten“: oben die Registerkarte Durchsuchen mit Adressfeld und Suchen, darunter die Verbindungseigenschaften Datenquelle „Fachdaten“, Dienstadresse und Authentifizierung „Windows-Authentifizierung“, unten Testen, OK und Abbrechen

  4. Wählen Sie Testen aus. Die Statuszeile meldet die Verbindung.
  5. Bestätigen Sie mit OK.

3. Die Datenquelle wählen

Wählen Sie im Dialog Datenquelle auswählen die neue Datenquelle aus, und bestätigen Sie mit OK.

Dialog „Datenquelle auswählen“, Registerkarte Computerdatenquelle: ausgewählt ist die Benutzerdatenquelle „Fachdaten“ mit der Beschreibung „Fachdaten über den Datendienst“

4. Tabellen auswählen

Wählen Sie im Dialog Tabellen verknüpfen eine oder mehrere Tabellen aus, und bestätigen Sie mit OK. Der Dialog zeigt die Tabellen und Sichten, die Sie lesen dürfen. Access fragt nicht nach einem eindeutigen Feld: Den Schlüssel meldet der Treiber.

Dialog „Tabellen verknüpfen“ mit den Tabellen dbo.Artikel, dbo.Kunde und dbo.Umsatz; dbo.Artikel ist ausgewählt; rechts OK, Abbrechen, Alle auswählen, Keine auswählen und „Kennwort speichern“

5. Die verknüpfte Tabelle öffnen

Öffnen Sie die neue Tabelle im Navigationsbereich. Filtern, sortieren und suchen Sie wie bei einer lokalen Tabelle; Bedingungen und Sortierung rechnet der Dienst. Dürfen Sie in dieser Tabelle schreiben, ändern Sie einen Wert und verlassen Sie den Datensatz: Access speichert ihn beim Dienst.

Ergebnis

Access mit der geöffneten verknüpften Tabelle dbo_Artikel im Datenblatt: Spalten Nummer, Bezeichnung, Gruppe, Preis und Version, sechs Datensätze; im Navigationsbereich dbo_Artikel mit dem Symbol einer verknüpften ODBC-Tabelle

Im Navigationsbereich steht eine verknüpfte Tabelle (Symbol mit Weltkugel und Pfeil). Die Verknüpfung speichert den Namen der Datenquelle und den Dienststamm als DATABASE, ohne Geheimnis:

ODBC;DSN=Fachdaten;DATABASE=https://daten.example.com/odata/v4/fachdaten/dbo/

Access hat den Schlüssel der Tabelle als Primärindex übernommen; daran erkennt es, dass die Tabelle bearbeitbar ist. Ändert ein anderer Benutzer denselben Datensatz zwischen Ihrem Lesen und Speichern, zeigt Access den gewohnten Schreibkonflikt und überschreibt nichts.

Mehrere Dienststämme in einer Datei

Warnung: Verknüpfen Sie Tabellen aus einem zweiten Dienststamm – einer anderen Datenbank, einem anderen Schema oder einer zweiten Datenbank-Identität (ROLE) – in dieselbe Access-Datei, braucht jede Verbindung einen eigenen Wert für DATABASE. Sonst bedient Access beide über die zuerst geöffnete Verbindung: Die Tabellen des zweiten Stamms zeigen ohne Fehlermeldung die Daten des ersten, und Änderungen landen dort.

Access trennt Verbindungen nicht nach Adresse, sondern nach dem Wert von DATABASE in der Verbindungszeichenfolge, die es beim Verknüpfen speichert. Der Treiber ergänzt ihn: aus der Datenquelle, sonst aus dem Dienststamm. Der Einrichtungsdialog schreibt den Dienststamm in jede neue oder geänderte Datenquelle. Zwei Datenquellen auf zwei Dienststämme tragen damit verschiedene Werte.

WegVerbindungszeichenfolge der Verknüpfung
ohne DatenquelleODBC;DRIVER={Wkl OData};URL=https://daten.example.com/odata/v4/vertrieb/dbo/;AUTH=WINDOWS – der Treiber ergänzt DATABASE je Dienststamm
DatenquelleODBC;DSN=Vertrieb;DATABASE=… – der Treiber ergänzt das DATABASE der Datenquelle
Verknüpfung per Code (TableDef.Connect)DATABASE selbst angeben, je Dienststamm verschieden; Access speichert die Zeichenfolge wie gesetzt

So prüfen Sie, welche Verbindung eine Tabelle tatsächlich benutzt:

  1. Schalten Sie die Ablaufverfolgung ein, und starten Sie Access neu.
  2. Öffnen Sie nacheinander eine Tabelle aus jedem Dienststamm.
  3. Suchen Sie in der Datei die Zeilen HTTP GET. Die Anfragen für die zweite Tabelle müssen die Adresse ihres eigenen Dienststamms tragen. Stehen dort die Adresse des ersten, teilen sich die Verknüpfungen eine Verbindung.
  4. Prüfen Sie im Direktfenster (Strg+G) die gespeicherte Zeichenfolge jeder Verknüpfung: ? CurrentDb.TableDefs("dbo_Artikel").Connect.

Das Verhalten von Access im Einzelnen steht unter Verbindungszeichenfolge: Access teilt Verbindungen nach `DATABASE`.

Nächste Schritte

de/wiki/data-conectivity/odata-odbc/getting-started/link-a-table-in-access.txt · Last modified: by Wolfgang van der Stille