Adressen aus dem Onlineshop importieren

Wenn Sie ein Abonnement des Magazins 'Access im Unternehmen' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

Adressen aus dem Onlineshop importieren

Wer einen Onlineshop verwendet, verwaltet in der Regel auch die Kunden- und Bestelldaten auf dem Internetserver, auf dem sich die Shopsoftware befindet. Dennoch gibt es verschiedene Gründe, sich diese Daten auch auf dem Desktop verfügbar zu machen – und zwar nicht nur über das jeweilige Shop-Backend. Die Daten wollen schließlich weiterverwendet werden, beispielsweise für die Vorbereitung der Lieferung, den Rechnungsversand, die Prüfung des Rechnungseingangs et cetera. Leider liefert das Shopsystem die Daten meist nicht in der gewünschten Struktur. Schauen wir uns also anhand des Shopsystems Shopware an, wie wir uns die Daten gefügig machen.

Shopware ist eines der moderneren Shopsysteme. Ein Beispiel für einen Shop auf Basis dieses Systems ist etwa der Shop des André Minhorst Verlags, in dem Sie möglicherweise auch das Abonnement zu diesem Magazin bestellt haben (shop.minhorst.com). Da ich also selbst mit diesem System arbeite, ist es naheliegend, dieses Shopsystem als Beispiel für diesen Artikel heranzuziehen.

Zugriff verschaffen

Die optimale Lösung für den Zugriff auf die Daten des Shops erfolgt per ODBC. Wenn die Datenbanksoftware auf dem Server dafür freigeschaltet ist, können Sie die Tabellen des Shopsystems direkt in eine Datenbank auf dem lokalen Rechner einbinden.

Sie arbeiten dann mit den verfügbaren Tabellen, als ob diese sich direkt in der Datenbank befinden – mit dem Unterschied, dass der Zugriff vielleicht an der einen oder anderen Stelle etwas langsamer erfolgt.

Für den Zugriff sollte Ihr Provider die entsprechenden Einstellungen vornehmen und folgende Daten liefern können:

  • Adresse des Servers (zum Beispiel eine IP oder Domain)
  • Port (zum Beispiel 3306)
  • Name der Datenbank
  • Benutzername
  • Kennwort

Wenn Ihnen diese Informationen vorliegen, können Sie die Verbindung über den entsprechenden Assistenten von Access herstellen – wie im Beitrag RDBMS-Tabellen manuell verknüpfen (www.access-im-unternehmen.de/973). Oder Sie erledigen dies wie in den Beiträgen RDBMS-Tools: Verbindungen verwalten (www.access-im-unternehmen.de/976) und RDBMS-Tools: Tabellen verknüpfen (www.access-im-unternehmen.de/977) beschrieben mit zwei komfortablen Formularen.

Diese können Sie auch in Form eines Add-Ins einbinden – siehe RDBMS-Tools als Add-In (www.access-im-unternehmen.de/978). In diesem Beitrag nutzen wir in diesem Fall die letztere Variante.

Wenn Sie das Add-In aus dem genannten Beitrag installiert haben, fügen Sie mit dem Start des Add-Ins automatisch die für den Zugriff nötigen Tabellen tblVerbindungszeichenfolgen und tblTreiber an. Sie brauchen dann nur noch zunächst das Add-In RDBMS-Tools: Verbindungen verwalten aus dem Ribbon-Menü Datenbanktools|Add-Ins|Add-Ins auszuwählen. Dort geben Sie wie in Bild 1 die Verbindungsdaten ein und schließen den Dialog wieder.

Einstellen der Verbindungseigenschaften

Bild 1: Einstellen der Verbindungseigenschaften

Danach rufen Sie aus dem gleichen Ribbon-Menü den Eintrag RDBMS-Tools: Tabellen verknüpfen auf. Hier wählen Sie nun die soeben erstellte Verbindungszeichenfolge aus dem oberen Kombinationsfeld aus und klicken dann auf Aktualisieren. Das Formular zeigt nun alle Tabellen der gewählten Datenbank an.

Nach kurzem Durchsehen der Tabellen scheint klar zu sein, dass sich die Kundendaten in Tabellen befinden, die das Schlüsselwort User enthalten – zumindest gibt es keine Tabellen etwa namens Customer oder dergleichen. Also filtern wir das Listenfeld durch Eingabe des Wortes User in das Textfelder Filter und erhalten so die gesuchten Tabellen (s. Bild 2).

Herstellen der Verknüpfungen

Bild 2: Herstellen der Verknüpfungen

Wir markieren die Tabellen, die für uns interessant sein könnten, und erstellen durch einen Mausklick auf die Schaltfläche Tabellen verknüpfen entsprechende Verknüpfungen.

Wir wollen die Kunden inklusive Liefer- und Rechnungsanschrift in die Zieldatenbank importieren. Dazu schauen wir uns die Tabellen zunächst genauer im Beziehungsfenster an. Von den importierten Tabellen bleiben drei übrig, von denen eine die Grunddaten der Kunden enthält, eine die Rechnungsdaten und eine die Lieferdaten.

Um uns dies später beim Erstellen von Abfragen sparen zu können, fügen wir den Tabellen zwei Verknüpfungen hinzu (s. Bild 3).

Für den Kunden-Import interessante Tabellen

Bild 3: Für den Kunden-Import interessante Tabellen

Als Nächstes müssen wir herausfinden, wie die Daten in den drei Tabellen gespeichert werden. Im Shop des André Minhorst Verlags beispielsweise gibt man zunächst eine nicht näher spezifizierte Adresse ein (s. Bild 4). Darunter findet sich dann die Möglichkeit, anzugeben, dass die Lieferadresse von der Rechnungsadresse abweicht. Klickt man diese Option an, ist klar, dass die zuerst eingegebene Adresse der Rechnungsadresse entspricht, denn es erscheint nun ein eigener Bereich zur Eingabe der Lieferadresse. Gibt man zwei verschiedene Adressen für die Lieferung und die Rechnung an, ist der Fall also offensichtlich klar. Aber wo landen die Daten, wenn der Benutzer nur einen Satz Adressdaten einträgt – in der Tabelle s_user_billingaddress oder s_user_shippingaddress?

Eingabe der Kundendaten im Shop

Bild 4: Eingabe der Kundendaten im Shop

Zielfelder für Adressdaten prüfen

Oder trägt die Shopsoftware die Adresse einfach gleich für beide Adressen ein? Wir werden nicht um eine Prüfung dieses Sachverhalts herumkommen. Also erstellen wir eine neue Abfrage, welche die drei Tabellen s_user, s_user_shippingaddress und s_user_billingaddress aufnimmt. Die soeben im Beziehungen-Fenster hinzugefügten Beziehungen werden praktischerweise direkt in den Abfrageentwurf übernommen. Dann ziehen wir die benötigten Felder aus den drei Tabellen in das Entwurfsraster. Aus der Tabelle s_user entnehmen wir dabei nur die Felder id und email, aus den beiden übrigen Tabellen die üblichen Adressfelder (s. Bild 5).

Abfrage mit Liefer- und Rechnungsfeldern

Bild 5: Abfrage mit Liefer- und Rechnungsfeldern

Ein Wechsel in die Datenblattansicht liefert dann interessanterweise nicht den soeben frisch im Shop angelegten Datensatz. Warum das nicht? Es kann eigentlich nur einen Grund geben: Da wir die Verknüpfungen mit in die Abfrage übernommen haben, kann diese nur Datensätze liefern, für die auch in allen beteiligten Tabellen Daten vorliegen.

Dies bedeutet also, dass mindestens eine der Tabellen keine Daten enthält und die eingebene Adresse wohl entweder nur in der Tabelle s_user_shipping­address oder ­­­­s_­user_bil­lingaddress gelandet ist. Um dies zu prüfen, passen wir die Abfrage nochmals an, damit diese immer alle Datensätze anzeigt – unabhängig davon, ob alle Tabellen Daten enthalten. Klicken Sie dazu doppelt auf den ersten der beiden Verknüpfungspfeile und stellen Sie die nun erscheinenden Verknüpfungseigenschaften so ein, dass alle Datensätze der Tabelle s_user angezeigt werden und nur die passenden Datensätze aus der jeweils verknüpften Tabelle (s. Bild 6).

Einstellen der Verknüpfungseigenschaften

Bild 6: Einstellen der Verknüpfungseigenschaften

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Neues aus unseren Magazinen
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von Elementen einer Tabelle über den Inhalt eines Feldes etwa namens »ReihenfolgeID« einstellen können –... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im vorliegenen Beitrag zeigen wir Ihnen, wie Sie diese abhängig von den in einem Formular angezeigten... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beiträgen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenköpfe oben fixiert... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort benötigen wir... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per HTML verwalten« haben wir die Voraussetzungen für eine Benutzerverwaltung geschaffen. Im vorliegenden... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die für ihn vorgesehenen Aktionen mit Daten durchführen darf – beispielsweise durch... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer Benutzeroberfläche die Möglichkeit zum Generieren von Kennwörtern anbieten. Wenn Sie etwa Benutzer zu... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer temporären Tabelle im Frontend gespeichert wird,... [mehr]