{"id":55000972,"date":"2015-04-01T00:00:00","date_gmt":"2020-05-22T21:07:10","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=972"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Adressen_aus_dem_Onlineshop_importieren","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/","title":{"rendered":"Adressen aus dem Onlineshop importieren"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>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&uuml;nde, sich diese Daten auch auf dem Desktop verf&uuml;gbar zu machen &#8211; und zwar nicht nur &uuml;ber das jeweilige Shop-Backend. Die Daten wollen schlie&szlig;lich weiterverwendet werden, beispielsweise f&uuml;r die Vorbereitung der Lieferung, den Rechnungsversand, die Pr&uuml;fung des Rechnungseingangs et cetera. Leider liefert das Shopsystem die Daten meist nicht in der gew&uuml;nschten Struktur. Schauen wir uns also anhand des Shopsystems Shopware an, wie wir uns die Daten gef&uuml;gig machen.<\/b><\/p>\n<p>Shopware ist eines der moderneren Shopsysteme. Ein Beispiel f&uuml;r einen Shop auf Basis dieses Systems ist etwa der Shop des <b>Andr&eacute; Minhorst Verlags<\/b>, in dem Sie m&ouml;glicherweise auch das Abonnement zu diesem Magazin bestellt haben (<b>shop.minhorst.com<\/b>). Da ich also selbst mit diesem System arbeite, ist es naheliegend, dieses Shopsystem als Beispiel f&uuml;r diesen Artikel heranzuziehen.<\/p>\n<p><b>Zugriff verschaffen<\/b><\/p>\n<p>Die optimale L&ouml;sung f&uuml;r den Zugriff auf die Daten des Shops erfolgt per ODBC. Wenn die Datenbanksoftware auf dem Server daf&uuml;r freigeschaltet ist, k&ouml;nnen Sie die Tabellen des Shopsystems direkt in eine Datenbank auf dem lokalen Rechner einbinden.<\/p>\n<p>Sie arbeiten dann mit den verf&uuml;gbaren Tabellen, als ob diese sich direkt in der Datenbank befinden &#8211; mit dem Unterschied, dass der Zugriff vielleicht an der einen oder anderen Stelle etwas langsamer erfolgt.<\/p>\n<p>F&uuml;r den Zugriff sollte Ihr Provider die entsprechenden Einstellungen vornehmen und folgende Daten liefern k&ouml;nnen:<\/p>\n<ul>\n<li>Adresse des Servers (zum Beispiel eine IP oder Domain)<\/li>\n<li>Port (zum Beispiel 3306)<\/li>\n<li>Name der Datenbank<\/li>\n<li>Benutzername<\/li>\n<li>Kennwort<\/li>\n<\/ul>\n<p>Wenn Ihnen diese Informationen vorliegen, k&ouml;nnen Sie die Verbindung &uuml;ber den entsprechenden Assistenten von Access herstellen &#8211; wie im Beitrag <b>RDBMS-Tabellen manuell verkn&uuml;pfen <\/b>(<b>www.access-im-unternehmen.de\/973<\/b>). Oder Sie erledigen dies wie in den Beitr&auml;gen <b>RDBMS-Tools: Verbindungen verwalten <\/b>(<b>www.access-im-unternehmen.de\/976<\/b>) und <b>RDBMS-Tools: Tabellen verkn&uuml;pfen <\/b>(<b>www.access-im-unternehmen.de\/977<\/b>) beschrieben mit zwei komfortablen Formularen.<\/p>\n<p>Diese k&ouml;nnen Sie auch in Form eines Add-Ins einbinden &#8211; siehe <b>RDBMS-Tools als Add-In <\/b>(<b>www.access-im-unternehmen.de\/978<\/b>). In diesem Beitrag nutzen wir in diesem Fall die letztere Variante.<\/p>\n<p>Wenn Sie das Add-In aus dem genannten Beitrag installiert haben, f&uuml;gen Sie mit dem Start des Add-Ins automatisch die f&uuml;r den Zugriff n&ouml;tigen Tabellen <b>tblVerbindungszeichenfolgen <\/b>und <b>tblTreiber <\/b>an. Sie brauchen dann nur noch zun&auml;chst das Add-In <b>RDBMS-Tools: Verbindungen verwalten <\/b>aus dem Ribbon-Men&uuml; <b>Datenbanktools|Add-Ins|Add-Ins <\/b>auszuw&auml;hlen. Dort geben Sie wie in Bild 1 die Verbindungsdaten ein und schlie&szlig;en den Dialog wieder.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_001.png\" alt=\"Einstellen der Verbindungseigenschaften\" width=\"500\" height=\"375,2228\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Einstellen der Verbindungseigenschaften<\/span><\/b><\/p>\n<p>Danach rufen Sie aus dem gleichen Ribbon-Men&uuml; den Eintrag <b>RDBMS-Tools: Tabellen verkn&uuml;pfen <\/b>auf. Hier w&auml;hlen Sie nun die soeben erstellte Verbindungszeichenfolge aus dem oberen Kombinationsfeld aus und klicken dann auf <b>Aktualisieren<\/b>. Das Formular zeigt nun alle Tabellen der gew&auml;hlten Datenbank an.<\/p>\n<p>Nach kurzem Durchsehen der Tabellen scheint klar zu sein, dass sich die Kundendaten in Tabellen befinden, die das Schl&uuml;sselwort <b>User <\/b>enthalten &#8211; zumindest gibt es keine Tabellen etwa namens <b>Customer <\/b>oder dergleichen. Also filtern wir das Listenfeld durch Eingabe des Wortes <b>User <\/b>in das Textfelder <b>Filter <\/b>und erhalten so die gesuchten Tabellen (s. Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_002.png\" alt=\"Herstellen der Verkn&uuml;pfungen\" width=\"500\" height=\"395,6263\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Herstellen der Verkn&uuml;pfungen<\/span><\/b><\/p>\n<p>Wir markieren die Tabellen, die f&uuml;r uns interessant sein k&ouml;nnten, und erstellen durch einen Mausklick auf die Schaltfl&auml;che <b>Tabellen verkn&uuml;pfen <\/b>entsprechende Verkn&uuml;pfungen.<\/p>\n<p>Wir wollen die Kunden inklusive Liefer- und Rechnungsanschrift in die Zieldatenbank importieren. Dazu schauen wir uns die Tabellen zun&auml;chst genauer im Beziehungsfenster an. Von den importierten Tabellen bleiben drei &uuml;brig, von denen eine die Grunddaten der Kunden enth&auml;lt, eine die Rechnungsdaten und eine die Lieferdaten.<\/p>\n<p>Um uns dies sp&auml;ter beim Erstellen von Abfragen sparen zu k&ouml;nnen, f&uuml;gen wir den Tabellen zwei Verkn&uuml;pfungen hinzu (s. Bild 3). <\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_003.png\" alt=\"F&uuml;r den Kunden-Import interessante Tabellen\" width=\"550\" height=\"498,7521\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: F&uuml;r den Kunden-Import interessante Tabellen<\/span><\/b><\/p>\n<p>Als N&auml;chstes m&uuml;ssen wir herausfinden, wie die Daten in den drei Tabellen gespeichert werden. Im Shop des Andr&eacute; Minhorst Verlags beispielsweise gibt man zun&auml;chst eine nicht n&auml;her spezifizierte Adresse ein (s. Bild 4). Darunter findet sich dann die M&ouml;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&uuml;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&auml;gt &#8211; in der Tabelle <b>s_user_billingaddress <\/b>oder <b>s_user_shippingaddress<\/b><\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_004.png\" alt=\"Eingabe der Kundendaten im Shop\" width=\"550\" height=\"808,4615\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Eingabe der Kundendaten im Shop<\/span><\/b><\/p>\n<p><b>Zielfelder f&uuml;r Adressdaten pr&uuml;fen<\/b><\/p>\n<p>Oder tr&auml;gt die Shopsoftware die Adresse einfach gleich f&uuml;r beide Adressen ein Wir werden nicht um eine Pr&uuml;fung dieses Sachverhalts herumkommen. Also erstellen wir eine neue Abfrage, welche die drei Tabellen <b>s_user<\/b>, <b>s_user_shippingaddress <\/b>und <b>s_user_billingaddress <\/b>aufnimmt. Die soeben im Beziehungen-Fenster hinzugef&uuml;gten Beziehungen werden praktischerweise direkt in den Abfrageentwurf &uuml;bernommen. Dann ziehen wir die ben&ouml;tigten Felder aus den drei Tabellen in das Entwurfsraster. Aus der Tabelle <b>s_user <\/b>entnehmen wir dabei nur die Felder <b>id <\/b>und <b>email<\/b>, aus den beiden &uuml;brigen Tabellen die &uuml;blichen Adressfelder (s. Bild 5).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_005.png\" alt=\"Abfrage mit Liefer- und Rechnungsfeldern\" width=\"650\" height=\"487,9683\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Abfrage mit Liefer- und Rechnungsfeldern<\/span><\/b><\/p>\n<p>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&uuml;pfungen mit in die Abfrage &uuml;bernommen haben, kann diese nur Datens&auml;tze liefern, f&uuml;r die auch in allen beteiligten Tabellen Daten vorliegen.<\/p>\n<p>Dies bedeutet also, dass mindestens eine der Tabellen keine Daten enth&auml;lt und die eingebene Adresse wohl entweder nur in der Tabelle <b>s_user_shipping-address <\/b>oder &#8212;-<b>s_-user_bil-lingaddress <\/b>gelandet ist. Um dies zu pr&uuml;fen, passen wir die Abfrage nochmals an, damit diese immer alle Datens&auml;tze anzeigt &#8211; unabh&auml;ngig davon, ob alle Tabellen Daten enthalten. Klicken Sie dazu doppelt auf den ersten der beiden Verkn&uuml;pfungspfeile und stellen Sie die nun erscheinenden Verkn&uuml;pfungseigenschaften so ein, dass alle Datens&auml;tze der Tabelle <b>s_user<\/b> angezeigt werden und nur die passenden Datens&auml;tze aus der jeweils verkn&uuml;pften Tabelle (s. Bild 6).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_006.png\" alt=\"Einstellen der Verkn&uuml;pfungseigenschaften\" width=\"420\" height=\"264,847\" \/><\/p>\n<p><!--30percent--><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Einstellen der Verkn&uuml;pfungseigenschaften<\/span><\/b><\/p>\n<p>Anschlie&szlig;end erscheint der neu angelegte Kunde auch in der Abfrage in der Datenblattansicht. Dort wird schnell offensichtlich, dass eine gemeinsame Adresse f&uuml;r Lieferung und Rechnung einfach in der Tabelle <b>s_user_billingaddress <\/b>landet (s. Bild 7).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_007.png\" alt=\"Abfrage mit den Adressdaten eines zu Testzwecken angelegten Kunden\" width=\"700\" height=\"107,1896\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Abfrage mit den Adressdaten eines zu Testzwecken angelegten Kunden<\/span><\/b><\/p>\n<p><b>Abfrage an Zieltabelle anpassen<\/b><\/p>\n<p>Nun folgt eine sehr interessante Aufgabe: Wir wollen die Abfrage <b>qryUserBillingShipping<\/b> so anpassen, dass sie genau der Datenstruktur der Zieltabelle in unserer Kundenverwaltung entspricht.<\/p>\n<p>Dazu werfen wir nun zun&auml;chst einen Blick auf den Entwurf der Kundentabelle. Diese kann nat&uuml;rlich bei Ihnen oder bei Ihren Kunden ganz anders aussehen &#8211; aber es geht ja auch nur darum, beispielhaft den Import von Kundendaten von einem System ins andere zu demonstrieren.<\/p>\n<p>Der Entwurf der Tabelle <b>tblKunden<\/b> sieht etwa wie in Bild 8 aus. Hier gibt es also einen Satz von Adressdaten, die, sofern keine separate Rechnungsadresse angegeben wird, als Liefer- und Rechnungsadresse genutzt wird.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_008.png\" alt=\"Zieltabelle f&uuml;r den Import der Kundendaten\" width=\"550\" height=\"374,3628\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Zieltabelle f&uuml;r den Import der Kundendaten<\/span><\/b><\/p>\n<p>Liegt hingegen eine Rechnungsadresse vor, nehmen die einfachen Felder die Lieferadresse auf.<\/p>\n<p>Dummerweise ist es in den Kundentabellen im Shop genau andersherum: Dort wird die zus&auml;tzliche Adresse als Lieferadresse gespeichert. Aber das ist kein Problem &#8211; wir sind ja anpassungsf&auml;hig.<\/p>\n<p><b>Verschiedene F&auml;lle<\/b><\/p>\n<p>Der einfachste Fall ist, dass der Kunde im Shop nur eine einzige Adresse als Liefer- und Rechnungsadresse angegeben hat. In diesem Fall k&ouml;nnen wir die Felder aus der Tabelle <b>s_user_billingaddress <\/b>einfach in die Felder <b>Firma<\/b>, <b>AnredeID<\/b>, <b>Vorname <\/b>et cetera der Tabelle <b>tblKunden <\/b>importieren.<\/p>\n<p>Wenn der Kunde allerdings auch noch eine abweichende Adresse angegeben hat, sollen die Werte der Tabelle <b>s_user_billingaddress <\/b>in den Feldern <b>Firma_Rechnung<\/b>, <b>AnredeID_Rechnung<\/b>, <b>Vorname_Rechnung <\/b>und so weiter landen und die Werte der Tabelle <b>s_user_shippingaddress <\/b>in den Feldern <b>Firma<\/b>, <b>AnredeID<\/b>, <b>Vorname <\/b>et cetera.<\/p>\n<p>Wir m&uuml;ssen also in der Abfrage, welche die Felder wie in der Zieltabelle abbilden soll, abfragen, ob die Tabelle <b>s_user_shipping <\/b>vorhanden ist, und die Daten dann mit entsprechenden <b>IIf<\/b>-Statements variieren.<\/p>\n<p>Wie aber wollen wir die Abfrage &uuml;berhaupt so gestalten, dass diese wie die Tabelle <b>tblKunden <\/b>aufgebaut ist Das ist einfach: Wir benennen die entsprechenden Felder beziehungsweise die Ausdr&uuml;cke, welche die Werte liefern, entsprechend den Feldern der Tabelle <b>tblKunden<\/b> um.<\/p>\n<p><b>L&auml;nder zur Abfrage hinzuf&uuml;gen<\/b><\/p>\n<p>Die Abfrage <b>qryUserBillingShipping <\/b>enth&auml;lt das Feld <b>countryID <\/b>der beiden Tabellen <b>s_user_shippingaddress <\/b>und <b>s_user_billingaddress<\/b>. Dieses liefert nur eine Zahl, da dieses Feld mit einer Lookuptabelle namens <b>s_core_countries <\/b>verkn&uuml;pft ist, welche die L&auml;nderbezeichnungen zu den Zahlenwerten aus <b>countryID <\/b>liefert. Diese w&uuml;rden wir nat&uuml;rlich gern noch in die Abfrage einbeziehen, um nicht alle L&auml;ndercodes separat per verschachteltem <b>IIf <\/b>ermitteln zu m&uuml;ssen.<\/p>\n<p>Wenn wir diese Tabelle wie in Bild 9 zweimal zur Abfrage hinzuf&uuml;gen, meldet Access allerdings einen Fehler: <b>Die SQL-Anweisung konnte nicht ausgef&uuml;hrt werden, da sie mehrdeutige &auml;u&szlig;ere Verkn&uuml;pfungen enth&auml;lt. [&#8230;]<\/b><\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_009.png\" alt=\"Erweitern der Abfrage um L&auml;nderdaten\" width=\"600\" height=\"385,2842\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Erweitern der Abfrage um L&auml;nderdaten<\/span><\/b><\/p>\n<p>Dies k&ouml;nnen wir nur mithilfe zweier Hilfsabfragen ab&auml;ndern, die jeweils eine der Tabellen <b>s_user_billingaddress <\/b>oder <b>s_user_shippingaddress <\/b>sowie zus&auml;tzlich die Tabelle <b>s_core_countries <\/b>enth&auml;lt.<\/p>\n<p>Dies sieht f&uuml;r die Tabelle <b>s_-user_bil-lingaddress<\/b> etwa wie in Bild 10 aus. Auf die gleiche Weise erstellen wir noch eine Abfrage namens <b>qry_s_user_shippingaddress_with_country<\/b>.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_010.png\" alt=\"Zusammenfassung von Rechnungsadressen und Land\" width=\"600\" height=\"578,761\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: Zusammenfassung von Rechnungsadressen und Land<\/span><\/b><\/p>\n<p>Beide f&uuml;gen wir dann zur Abfrage <b>qryUserBillingShipping <\/b>hinzu, aus der wir nat&uuml;rlich zuvor die beiden Tabellen <b>s_user_shippingaddress <\/b>und <b>s_user_billingaddress <\/b>entfernen.<\/p>\n<p>Beide Abfragen enthalten dann alle Felder der Tabelle <b>s_user_shippingaddress <\/b>beziehungsweise <b>s_user_billingaddress <\/b>sowie das Feld <b>country <\/b>der Tabelle <b>s_core_countries<\/b>.<\/p>\n<p>Die Abfrage <b>qryUserBillingShipping<\/b> sieht nun wie in Bild 11 aus. F&uuml;r die Verkn&uuml;pfungen stellen Sie wieder die gleichen Eigenschaften wie zuvor ein, damit die Abfrage immer alle Datens&auml;tze der Tabellen <b>s_user <\/b>enth&auml;lt, auch wenn <b>s_user_shippingaddress <\/b>nicht zugeordnet ist.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_011.png\" alt=\"Abfrage-Datenquellen, jetzt mit integrierten L&auml;nderangaben\" width=\"550\" height=\"388,2959\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 11: Abfrage-Datenquellen, jetzt mit integrierten L&auml;nderangaben<\/span><\/b><\/p>\n<p>Wenn Sie nun in die Datenblattansicht wechseln, um sich das Ergebnis anzusehen, erhalten Sie allerdings eine Fehlermeldung, die nur wenig aussagekr&auml;ftig ist.<\/p>\n<p>Nach l&auml;ngerem Experimentieren kam jedoch heraus, dass man die Verkn&uuml;pfungen in der umgekehrten Reihenfolge zusammenfassen muss, wenn man zu <b>s_user<\/b>, <b>s_user_shippingaddress <\/b>und <b>s_user_billingaddress <\/b>auch noch die Daten der Tabelle <b>s_core_countries <\/b>hinzuf&uuml;gen m&ouml;chte.<\/p>\n<p>Also starten wir wieder mit der urspr&uuml;nglichen Version, welche die Tabellen <b>s_user<\/b>, <b>s_user_billing-address <\/b>und <b>s_user_shipping-address <\/b>enth&auml;lt und speichern diese unter dem Namen <b>qryUserBillingShipping<\/b>. Dann erstellen Sie eine weitere neue Abfrage namens <b>qryUserBillingShipping_With_Country<\/b>, der Sie <b>qryUserBillingShipping <\/b>hinzuf&uuml;gen sowie zweimal die Tabelle <b>s_core_countries<\/b>. Diese Tabelle verkn&uuml;pfen Sie dann einfach &uuml;ber das Feld <b>id <\/b>mit den Feldern <b>countryID <\/b>der Tabellen <b>s_user_billingaddress <\/b>und <b>s_user_shippingaddress <\/b>aus der Abfrage <b>qryUserBillingShipping<\/b> (s. Bild 12).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_012.png\" alt=\"Benutzerdaten mit L&auml;ndern, funktionierende Version\" width=\"550\" height=\"569,9635\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 12: Benutzerdaten mit L&auml;ndern, funktionierende Version<\/span><\/b><\/p>\n<p>Die Feldbezeichnungen in der Abfrage <b>qryUserBillingShipping <\/b>wirken jetzt allerdings etwas unhandlich. Dies k&ouml;nnen Sie leicht &auml;ndern, indem Sie die zugrunde liegende Abfrage &ouml;ffnen, dort zum Beispiel auf die Tabelle <b>s_user_billingaddress <\/b>klicken und im Eigenschaftsfenster unter Alias einen k&uuml;rzeren Namen eintragen. Wir wollen es so kurz wie m&ouml;glich machen und verwenden schlicht <b>b <\/b>f&uuml;r <b>billing<\/b>.<\/p>\n<p>F&uuml;r die Tabelle <b>s_user_shippingaddress <\/b>verwenden wir den Buchstaben <b>s<\/b>. In der Datenblattansicht kommt die Abfrage <b>qryUserBillingShipping_With_Country<\/b> nun schon wesentlich schlanker daher (s. Bild 13).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_013.png\" alt=\"Tabellennamen in abgek&uuml;rzter Form\" width=\"700\" height=\"117,9386\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 13: Tabellennamen in abgek&uuml;rzter Form<\/span><\/b><\/p>\n<p><b>Felder zuordnen<\/b><\/p>\n<p>Damit haben wir nun eine Abfrage mit allen Daten, die in der Tabelle <b>tblKunden<\/b> landen sollen. Nun m&uuml;ssen wir nur noch die richtige Zuordnung vornehmen &#8211; und zwar in Abh&auml;ngigkeit davon, ob ein Wert im Feld <b>Salutation <\/b>der Tabelle <b>s_user_shippingaddress <\/b>vorliegt.<\/p>\n<p>Dazu k&ouml;nnen wir durchaus schon mal alle Felder der Abfrage <b>qryUserBillingShipping <\/b>plus die beiden <b>Country<\/b>-Felder in das Entwurfsraster der Abfrage ziehen.<\/p>\n<p>Dann folgt die eigentliche Denkarbeit: Wir m&uuml;ssen der Abfrage nun f&uuml;r jedes Feld der Zieltabelle, also der weiter oben bereits vorgestellten <b>tblKunden<\/b>, ein Feld hinzuf&uuml;gen, das aus dem Feldern der Datenherkunftstabelle entsprechende Ausdr&uuml;cke zum F&uuml;llen von <b>tblKunden<\/b> formuliert. In Bild 14 sehen Sie beispielsweise das Feld <b>Firma <\/b>mit dem folgenden Ausdruck:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2015_02\/pic_972_014.png\" alt=\"Abfrage mit auf die Zieltabelle gemappten Ausdr&uuml;cken\" width=\"650\" height=\"396,2963\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 14: Abfrage mit auf die Zieltabelle gemappten Ausdr&uuml;cken<\/span><\/b><\/p>\n<pre>Firma:Wenn(IstNull([s].[salutation]);[b].[company];[s].[company])<\/pre>\n<p>Dieser Ausdruck pr&uuml;ft, ob der Wert des Feldes <b>salutation <\/b>der Tabelle <b>s <\/b>(abgek&uuml;rzt f&uuml;r <b>s_user_shipping-address<\/b>) Null ist. Ist das der Fall, liegt nur eine gemeinsame Adresse f&uuml;r Lieferung und Rechnung vor.<\/p>\n<p>Dann soll die Firma (so vorhanden) aus dem Feld <b>company <\/b>der Tabelle <b>s_user_billingaddress <\/b>im Feld <b>Firma <\/b>landen (<b>b.company<\/b>).<\/p>\n<p>Ist <b>s.salutation <\/b>nicht Null, enth&auml;lt die Shopdatenbank zwei verschiedene Adressen f&uuml;r Rechnung und Lieferung. In diesem Fall soll die Firma aus dem Feld <b>company <\/b>der Tabelle <b>s_user_shippingaddress <\/b>in das Feld <b>Firma <\/b>eingetragen (<b>s.company<\/b>) werden.<\/p>\n<p>Dies gilt dann auch f&uuml;r die &uuml;brigen Felder, die in den Kundendaten f&uuml;r die kombinierte Rechnungs-\/Lieferanschrift eingetragen werden sollen &#8211; also in <b>Firma<\/b>, <b>AnredeID<\/b>, <b>Vorname<\/b>, <b>Nachname<\/b>, <b>Strasse<\/b>, <b>PLZ<\/b>, <b>Ort <\/b>und <b>Land<\/b>.<\/p>\n<p>Die ben&ouml;tigten berechneten Felder sind mal mehr, mal weniger kompliziert. Bei der Adresse zum Beispiel finden wir einen der Werte <b>mr <\/b>(m&auml;nnliche Anrede) oder <b>mrs <\/b>(weibliche Anrede) vor.<\/p>\n<p>Diese wollen noch separat untersucht und in die Werte <b>1 <\/b>oder <b>2 <\/b>umgewandelt werden, bevor sie im Feld <b>AnredeID <\/b>landen. Warum <b>1 <\/b>und <b>2<\/b> Weil das Feld <b>AnredeID <\/b>mit der Tabelle <b>tblAnreden <\/b>verkn&uuml;pft ist, welches den Datensatz mit dem Prim&auml;rschl&uuml;sselwert <b>1 <\/b>und der Anrede <b>Herr <\/b>und den Datensatz mit dem Prim&auml;rschl&uuml;sselwert <b>2 <\/b>und der Anrede <b>Frau <\/b>enth&auml;lt.<\/p>\n<p>Der folgende Ausdruck wertet erst den Zahlenwert f&uuml;r <b>mr <\/b>oder <b>mrs <\/b>aus und weist dem Feld <b>AnredeID <\/b>dann entweder den aus <b>s.salutation <\/b>oder <b>b.salutation <\/b>resultierenden Wert zu:<\/p>\n<pre>AnredeID: Wenn(IstNull([s].[salutation]);Wenn([b].[salutation]=\"mr\";1;2);Wenn([s].[salutation]=\"mr\";1;2))<\/pre>\n<p>Bei den Feldern <b>Vorname <\/b>und <b>Nachname<\/b> sowie <b>PLZ <\/b>und <b>Ort <\/b>erfolgt die Ermittlung analog zum Feld <b>Firma<\/b>:<\/p>\n<pre>Vorname: Wenn(IstNull([s].[salutation]);[b].[firstname];[s].[firstname])\r\nNachname: Wenn(IstNull([s].[salutation]);[b].[lastname];[s].[lastname])\r\nPLZ: Wenn(IstNull([s].[salutation]);[b].[zipcode];[s].[zipcode])\r\nOrt: Wenn(IstNull([s].[salutation]);[b].[city];[s].[city])<\/pre>\n<p>Die Stra&szlig;e wird wieder interessanter, weil die Shopdatenbank diese in zwei Feldern speichert (<b>street <\/b>und <b>street-number<\/b>), die f&uuml;r die Kundendatenbank wieder zusammengef&uuml;hrt werden m&uuml;ssen &#8211; wiederum in Abh&auml;ngigkeit vom Wert des Feldes <b>b.salutation<\/b>:<\/p>\n<pre>Strasse: Wenn(IstNull([s].[salutation]);[b].[street] & \" \" & [b].[streetnumber];[s].[street] & \" \" & [s].[streetnumber])<\/pre>\n<p>Als letztes Feld des ersten Adressdatensatzes fehlt noch das Land. Das entsprechende Textfeld <b>countryname<\/b> entnehmen wir in dem Fall, dass eine Lieferadresse vorliegt, aus dem Feld <b>countryname <\/b>der ersten verkn&uuml;pften Tabelle <b>s_core_countries<\/b>, sonst aus der zweiten mit der Bezeichnung <b>s_core_countries_1<\/b>:<\/p>\n<pre>Land: Wenn(IstNull([s].[salutation]);[s_core_countries].[countryname];[s_core_countries_1].[countryname])<\/pre>\n<p>Damit haben wir mit jedem der zuvor beschriebenen berechneten Feldern beide F&auml;lle abgedeckt &#8211; sowohl den, dass nur eine Liefer-\/Rechnungsadresse vorliegt also auch separate Adressen f&uuml;r Lieferung und Rechnung. Ziel waren jeweils die Felder f&uuml;r die Liefer-\/Rechnungsadresse der Tabelle <b>tblKunden<\/b>, die nur dann ausschlie&szlig;lich als Lieferadresse dienen, wenn es eine eigene Rechnungsadresse gibt.<\/p>\n<p>Diese Rechnungsadresse wollen wir nun zusammenstellen. Fest steht: Wenn im Onlineshop keine separate Lieferadresse angegeben wurde, dann wird die dortige gemeinsame Liefer-\/Rechnungsadresse auch in der Kundendatenbank als Liefer-\/Rechnungsadresse genutzt.<\/p>\n<p>Dies ist gleichbedeutend damit, dass die Rechnungsadresse in der Kundendatenbank leer bleibt. Diesem tragen die folgenden berechneten Felder der Abfrage <b>qryUserBillingShipping_With_Countries <\/b>Rechnung.<\/p>\n<p>Das Feld <b>Firma_Rechnung <\/b>bleibt somit leer, wenn auch die Anrede der Lieferadresse des Kunden aus dem Shopsystem leer ist. Anderenfalls landet die f&uuml;r die Rechnungsadresse angegebene Firma im Feld <b>Firma_Rechnung<\/b>:<\/p>\n<pre>FFirma_Rechnung: Wenn(IstNull([s].[salutation]);Null;[b].[company])<\/pre>\n<p>Auf &auml;hnliche Weise werden auch die &uuml;brigen berechneten Felder gef&uuml;llt:<\/p>\n<pre>Anrede_Rechnung: Wenn(IstNull([s].[salutation]);Null;Wenn([b].[salutation]=\"mr\";1;2))\r\nVorname_Rechnung: Wenn(IstNull([s].[salutation]);Null;[b].[firstname])\r\nNachname_Rechnung: Wenn(IstNull([s].[salutation]);Null;[b].[lastname])\r\nStrasse_Rechnung: Wenn(IstNull([s].[salutation]);Null;[b].[street] & \" \" & [b].[streetnumber])\r\nPLZ_Rechnung: Wenn(IstNull([s].[salutation]);Null;[b].[zipcode])\r\nOrt_Rechnung: Wenn(IstNull([s].[salutation]);Null;[b].[city])\r\nLand_Rechnung: Wenn(IstNull([s].[salutation]);Null;[s_core_countries].[countryname])<\/pre>\n<p>Damit ist die Abfrage zum Zuweisen der Liefer- und Rechnungsadressen aus dem Shopsystem an die Felder der <b>tblKunden <\/b>in der Kundendatenbank fertiggestellt.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Dieser Beitrag hat gezeigt, wie Sie eine ung&uuml;nstige Konstellation aus Quelltabellen und Zieltabellen &uuml;ber die Formulierung einer geeigneten Abfrage aneinander anpassen.<\/p>\n<p>Die Abfrage liefert die Daten aus dem Shopsystem nun genau so aufgebaut, dass Sie diese direkt in die Kundentabelle importieren k&ouml;nnten.<\/p>\n<p>Damit k&ouml;nnen Sie nun beispielsweise pr&uuml;fen, ob sich die einmal &uuml;bertragenen Daten zwischenzeitlich etwa in der Shopsoftware ge&auml;ndert haben, etwa weil der Benutzer dort seine Adresse ge&auml;ndert hat. Wie Sie einen solchen Abgleich durchf&uuml;hren, erfahren Sie im Beitrag <b>Adressdaten abgleichen <\/b>(<b>www.access-im-unternehmen.de\/979<\/b>).<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>AdressenAusShop.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{8B2EC4D0-7EF2-4442-8C9E-A031D9C0CD5F}\/aiu_972.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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&uuml;nde, sich diese Daten auch auf dem Desktop verf&uuml;gbar zu machen &#8211; und zwar nicht nur &uuml;ber das jeweilige Shop-Backend. Die Daten wollen schlie&szlig;lich weiterverwendet werden, beispielsweise f&uuml;r die Vorbereitung der Lieferung, den Rechnungsversand, die Pr&uuml;fung des Rechnungseingangs et cetera. Leider liefert das Shopsystem die Daten meist nicht in der gew&uuml;nschten Struktur. Schauen wir uns also anhand des Shopsystems Shopware an, wie wir uns die Daten gef&uuml;gig machen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022015,662015,44000021],"tags":[],"class_list":["post-55000972","post","type-post","status-publish","format-standard","hentry","category-66022015","category-662015","category-Tabellen_und_Datenmodellierung"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Adressen aus dem Onlineshop importieren - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Adressen aus dem Onlineshop importieren\" \/>\n<meta property=\"og:description\" content=\"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&uuml;nde, sich diese Daten auch auf dem Desktop verf&uuml;gbar zu machen - und zwar nicht nur &uuml;ber das jeweilige Shop-Backend. Die Daten wollen schlie&szlig;lich weiterverwendet werden, beispielsweise f&uuml;r die Vorbereitung der Lieferung, den Rechnungsversand, die Pr&uuml;fung des Rechnungseingangs et cetera. Leider liefert das Shopsystem die Daten meist nicht in der gew&uuml;nschten Struktur. Schauen wir uns also anhand des Shopsystems Shopware an, wie wir uns die Daten gef&uuml;gig machen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T21:07:10+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Adressen aus dem Onlineshop importieren\",\"datePublished\":\"2020-05-22T21:07:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/\"},\"wordCount\":2906,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4\",\"articleSection\":[\"2\\\/2015\",\"2015\",\"Tabellen und Datenmodellierung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/\",\"name\":\"Adressen aus dem Onlineshop importieren - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4\",\"datePublished\":\"2020-05-22T21:07:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4\",\"contentUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Adressen_aus_dem_Onlineshop_importieren\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Adressen aus dem Onlineshop importieren\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Adressen aus dem Onlineshop importieren - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/","og_locale":"de_DE","og_type":"article","og_title":"Adressen aus dem Onlineshop importieren","og_description":"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&uuml;nde, sich diese Daten auch auf dem Desktop verf&uuml;gbar zu machen - und zwar nicht nur &uuml;ber das jeweilige Shop-Backend. Die Daten wollen schlie&szlig;lich weiterverwendet werden, beispielsweise f&uuml;r die Vorbereitung der Lieferung, den Rechnungsversand, die Pr&uuml;fung des Rechnungseingangs et cetera. Leider liefert das Shopsystem die Daten meist nicht in der gew&uuml;nschten Struktur. Schauen wir uns also anhand des Shopsystems Shopware an, wie wir uns die Daten gef&uuml;gig machen.","og_url":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T21:07:10+00:00","og_image":[{"url":"http:\/\/vg07.met.vgwort.de\/na\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Adressen aus dem Onlineshop importieren","datePublished":"2020-05-22T21:07:10+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/"},"wordCount":2906,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4","articleSection":["2\/2015","2015","Tabellen und Datenmodellierung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/","url":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/","name":"Adressen aus dem Onlineshop importieren - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4","datePublished":"2020-05-22T21:07:10+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/#primaryimage","url":"http:\/\/vg07.met.vgwort.de\/na\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4","contentUrl":"http:\/\/vg07.met.vgwort.de\/na\/fb0c2c3d6d5c4b9eb1a03e28843cc7e4"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Adressen_aus_dem_Onlineshop_importieren\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Adressen aus dem Onlineshop importieren"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000972"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000972\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}