window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

XML-Import und -Export

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Die Zahl der von Access unterstützten Formate für den Export und Import von Daten nimmt mit mit jeder neuen Version stetig ab. So strich man zuletzt etwa den dBase-Austausch. Anders beim XML-Format, das Microsoft offenbar wichtig genug erschien, um die Export-Optionen gar weiter auszubauen. In diesem Beitrag daher ein Rundblick über die Austauschmöglichkeiten…

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1509_XML.accdb

Wozu XML

Beim Import und Export von Datenbankobjekten haben Formate, wie Excel oder dBase, den Nachteil, dass sie auf proprietären Binärstrukturen aufsetzen, mit denen andere Anwendungen unter Umständen nichts anzufangen wissen. Bei XML ist das anders.

Es ist standardisiert, gut strukturiert, und lässt sich als Textformat grundsätzlich lesen. Aus diesem Grund hat XML zunehmend Bedeutung erlangt. Microsoft speichert etwa selbst Word- oder Excel-Dateien seit der Office-Version 2007 in diesem Format ab, erkennbar am Anhang: docx, xlsx. Auch zahlreiche Einstellungen der Oberfläche der Programme werden in XML-Strukturen untergebracht. Also ist auch der Austausch von Datenobjekten per XML eine Angelegenheit, die einigen Sinn macht, sei es für den Transfer von Objekten in andere Datenbanken, oder Backups für die aktuelle Datenbank, oder gar für die Weiterverarbeitung in Fremdanwendungen.

Hier geht es in erster Linie um den Austausch von Tabellen innerhalb von Access. Der Import von XML-Quellen aus anderen Anwendungen wäre ein weiteres Thema, das noch deutlich komplexer ausfiele, in diesem Rahmen aber nicht weiter diskutiert wird.

Export über die Oberfläche

Zum Exportieren eines Datenbankobjekts in eine XML-Datei bedienen Sie sich entweder des Menübands oder des Kontextmenüs. Aktivieren Sie den Registerreiter Externe Daten: Dort findet sich eine mit XML-Datei beschriftete Schaltfläche in der Gruppe Exportieren. Sie ist immer dann aktiviert, wenn im Navigationsbereich ein Objekt markiert ist, welches eine Datenquelle enthält oder enthalten kann. Also nicht nur bei Tabellen und Abfragen, sondern auch bei Formularen und Berichten. Das Gleiche gilt für den gleichlautenden Kontextmenüeintrag, welcher, wie in Bild 1, verschachtelt zum Vorschein kommt.

Exportieren einer Tabelle über das Kontextmenü im Navigationsbereich

Bild 1: Exportieren einer Tabelle über das Kontextmenü im Navigationsbereich

Der Anschein der Möglichkeit, Formulare und Berichte ebenfalls exportieren zu können, trügt allerdings. Was bei diesem Vorgang ausgegeben wird, ist nicht der komplette Aufbau etwa eines Formulars, sondern lediglich die ihm zugrundeliegenden Daten, die ja aus einer Tabelle oder Abfrage stammen. Versuchen Sie das Formular frmIntro der Beispieldatenbank zu exportieren, so quittiert Access dies mit der Bemerkung, dass keine Formulare ohne Datenbindung für diesen Vorgang zugelassen seien. Denn allein die Datenquelle interessiert den XML-Export.

Markieren Sie also die Tabelle tblAdressen im Navigationsfenster und klicken Sie auf den Export-Button XML-Datei im Menüband. Das öffnet den Export-Dialog, wie in Bild 2. Access trägt in das Feld für den Dateinamen selbständig eine Bezeichnung ein, die sich aus dem Namen des Datenbankobjekts und der Endung .xml bildet. Der Pfad variiert dagegen je nach zuletzt getätigtem Ex- oder Import. Deshalb wählen Sie einen geeigneten Ausgabeort über den Dateiauswahl-Button Durchsuchen… rechts neben dem Feld aus.

Ausschnitt des Access-Dialogs zum Export eines Objekts in eine XML-Datei

Bild 2: Ausschnitt des Access-Dialogs zum Export eines Objekts in eine XML-Datei

Die Schaltfläche Weiter führt Sie zu einem Dialog, der einige Optionen für den Export abfragt, wie in Bild 3. Voreingestellt sind hier Daten und Schema. Daten exportiert den Inhalt der Datensätze, Schema erzeugt zusätzlich eine XSD-Datei im selben Verzeichnis, welche dann den gleichen Namen trägt, wie die XML-Datei. Diese XML-Schema-Datei beschreibt den Aufbau der Tabelle, sowie aller Felder, genau und verewigt hier auch alle Eigenschaften, wie Datentypen, Default-Werte oder Beschriftungen. Für den ersten Test deaktivieren wir diese Option und benennen nach dem Export die XML-Datei in tblAdressenOhneSchema.xml um. Der Export startet sofort bei Klick auf den OK-Button des Dialogs. Die Option zu Präsentation der Daten (XSL) lassen wir hier und auch im weiteren Verlauf des Beitrags außen vor. Sie hat für den reinen Datenaustausch keinerlei Bedeutung.

Abfrage der grundlegenden Export-Optionen

Bild 3: Abfrage der grundlegenden Export-Optionen

Wiederholen Sie den Vorgang und aktivieren nun die Schema-Option, wobei Sie es beim Namen tbladressen.xml für die exportierte Datei belassen.

Ziel dieses Unterfangen ist es, die XML-Dateien nachher zu importieren und dann zu begutachten, ob sich Unterschiede durch die Exportoptionen ergeben haben.

Ein Wort zur hier in allen Beispielen eingesetzten Tabelle tblAdressen, die auch schon in anderen Beispieldatenbanken für Access Basics zu finden ist. Diese wurde nämlich hier etwas aufgebohrt und mit weiteren Feldern versehen, die den Export etwas erschweren sollen. Da ist etwa das zusätzlich Feld Geburtsdatum, damit die Tabelle auch ein Feld des Datentyps Datum enthält. Und Vermoegen wurde, obgleich weitgehend sinnfrei, eingebaut, um ein Währungsfeld zu testen. Weiter ist das Feld Alter vom Typ Double. Schließlich hoffen wir den Export ins Schleudern bringen zu können, indem ein Anlagefeld Bild hinzugefügt wurde. Da es sich bei einer Anlage um eine obskure Angelegenheit mit verborgenden Detailtabellen handelt, ist der Export in ein einfaches Textformat, wie es bei XML vorliegt, nicht selbstverständlich. Wir sind gespannt, wie Access damit umgehen wird.

Außerdem gibt es drei Felder, die über eine ID auf andere Tabellen verweisen: Die Felder IDAnrede, IDOrt und IDLand sind Nachschlagefelder für die Tabellen tblAnreden, tblOrte und tblLaender. In der Datenblattansicht werden die entsprechenden Werte im jeweiligen Kombinationsfeld aus diesen Tabellen bezogen und korrekt angezeigt. Was macht der XML-Export daraus

Für den letzten Export-Test klicken Sie im Optionen-Dialog auf die Schaltfläche Weitere…, die zusätzliche Exporteinstellungen im nun erscheinenden Dialog erreichbar macht, wie in Bild 4 und Bild 5.

Erweiterte XML-Export-Optionen, erste Registerseite

Bild 4: Erweiterte XML-Export-Optionen, erste Registerseite

Erweiterte XML-Export-Optionen, zweite Registerseite

Bild 5: Erweiterte XML-Export-Optionen, zweite Registerseite

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar