Home > Artikel > Ausgabe 9/2015 > XML-Import und -Export

XML-Import und -Export

Achtung: Sie sind nicht angemeldet. Wenn Sie Abonnent sind und sich anmelden, lesen Sie den kompletten Artikel, laden das PDF herunter oder probieren die Beispieldatenbank aus (sofern vorhanden).

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

Unter Zu exportierende Daten gibt es da einen kleinen Baum, der unter der natürlich aktivierten tblAdressen noch den Eintrag Daten nachschlagen verzeichnet. Und unter diesem sind pfiffig alle Tabellen aufgelistet, auf die die Haupttabelle über die Felder IDAnreden bis IDLaender zugreifen muss, um deren Nachschlagefelder füllen zu können.

Aktivieren Sie nun alle drei Detailtabellen im Dialog.

Eine andere Codierung vorzusehen, als UTF-8UTF-16 wäre die andere Option –, ist überflüssig. Das wäre nur dann sinnvoll, wenn die XML-Datei später von anderen Programmen bearbeitet werden sollte, die mit UTF-8 nichts anfangen können.

Auf der zweiten Registerseite des Dialogs (siehe Bild 5) geht es um den Export des Schemas der XML-Datei. Hier sind automatisch die beiden ersten Optionen aktiviert. Primärschlüssel- und Indexinformationen einschließen schreibt alle Indizes der Tabelle und deren Eigenschaften ins Schema.

Alle Tabellen- und Feldeigenschaften exportieren bewirkt, dass zusätzlich nicht nur die SQL-relevanten Informationen mit eingeschlossen werden – also Datentypen, Default-Werte, Einschränkungen, et cetera –, sondern sogar Ansichtseigenschaften, wie Feldbeschreibungen, Schriftart der Datenblattansicht, oder deren Farben. Lassen Sie beide Kontrollkästchen aktiv.

Interessant ist die letzte Option Schema in XML-Datei einbetten. Markieren Sie diese, so unterbleibt die Ausgabe der separaten XSD-Datei und deren Inhalt wird stattdessen in den Kopf der XML-Datei aufgenommen. Das ist unter Umständen praktischer, als die Aufteilung in zwei Dateien.

Nach dem Einstellen aller Optionen klicken Sie auf OK, wodurch Sie nicht etwa zum vorigen Dialogfenster zurückkehren, sondern der Export unmittelbar ausgeführt wird. Benennen Sie die exportierte XML-Datei diesmal in tblAdressen_PlusSchema.xml um. Nebenbei: Der Button Hilfe des Dialogs hat keine praktische Bedeutung. Wieder einmal öffnet sich damit die Access-Hilfe ohne erkennbaren Inhalt. Aber daran ist man ja mittlerweile gewöhnt...

Ergebnisse des XML-Exports

Wenn Sie sich die Mühe sparen möchten, die beschriebenen Exportvorgänge alle selbst durchzuführen, so finden die exportierten XML-Dateien auch begleitend zur Beispieldatenbank im gleichen Verzeichnis.

Zwar möchten wir die Dateien in erster Linie wieder reimportieren, aber ein erster Blick in ihr Innenleben kann nicht schaden. Dabei stellt sich die Frage, welches Instrument uns hier zur Verfügung steht?

Da es sich um Textdateien handelt, könnte Notepad das Mittel der Wahl sein. Mit so großen Dateien – 3 bis 4 MB immerhin – hat es in der Regel jedoch einige Mühe. Erheblich besser geeignet ist etwa das freie Notepad++, welches außerdem automatisch Unterstützung für XML-Dateien mitbringt und XML-Tags und -Inhalte farblich markiert. Plug-Ins ermöglichen zudem speziellere XML-Aufgaben, wie das Einrücken der Tags. Auch der für Dateien mit der Endung .xml ohnehin häufig voreingestellte Internet Explorer kommt infrage, der ebenfalls die Struktur der XML-Dateien farblich aufwertet und einen hierarchischen Baum darstellt.

Am besten fährt man natürlich mit speziellen XML-Editoren, die allerdings in guter Qualität nicht kostenlos zu haben sind. Der Autor verwendet etwa die Stylus Studio XML Suite, welche für einige Screenshots zur Anwendung kam.

Nehmen wir uns ein Extrakt der tblAdressen.xml vor, nämlich einen exportierten Datensatz in ihr, wie in Listing 1. Der Hauptknoten des Dokuments trägt immer den Namen dataroot, in dem als Attribute allerlei Namespace-Verweise (xmlns) eingetragen sind, wobei auffällt, dass der Dateiname der Schemadatei tblAdressen.xsd explizit mit aufgenommen ist. Zum Vergleich ein Datensatz aus der Datei tblAdressenOhneSchema.xml in Listing 2. Hier fehlen dann tatsächlich alle weiteren Namespace-Angaben im Kopf, bis auf das Standardschema officedata, auf welches allerdings im weiteren Dokument keinerlei Bezug genommen wird. Auf die Folgen kommen wir noch zu sprechen.

               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

               xsi:noNamespaceSchemaLocation="tblAdressen.xsd"

               generated="2015-09-28T15:31:11">

17

6

Fetzer

Armin

+49 710461725

Armin.Fetzer@yahoo.de

1982-01-14T00:00:00

33.67

16000

Listing 1: Ein Datensatz der XML-exportierten Tabelle tblAdressen

Der Aufbau beider Dateien ist ansonsten gleich. tblAdressen ist der erste Unterknoten des Dokuments, der gleichzeitig jeweils einen Datensatz darstellt. Ihm folgen die einzelnen Felder, wobei auffällt, dass sich deren Anzahl unterscheidet. Tatsächlich werden nur jede Felder in einen XML-Datensatz aufgenommen, die nicht leer waren. Damit Sie auch einen Datensatz mit bestücktem Anlagefeld zu Gesicht bekommen, steht ein solcher in Listing 3. Dem XML-Tag Bild für das Anlagefeld folgen weitere Unterknoten, wobei die eigentlichen Bilddaten in FileData stehen. Es handelt sich hier um eine base64-kodierte Darstellung des binären Inhalts, welche im Listing deutlich gekürzt wurde.

13

12

Derfert

Daniela

Neckarstr.

22

33613

331

10

+49 775522

1949-12-22T00:00:00

65.75

30000

FAAAAAEAAAAEAAAAagBwAGcAAAD/2P/gABBKRklGAA

ECAABkAGQAAP/sABFEdWNreQABAAQAAAAaAAD/7gAOQWRvYmUAZMAAAAAB/9sAhA

IiIiInNjAzLCwsMzA7OzY2OztBQUFBQUFBQUFBQUFBQUH/wAARCAANAA0DASIAAh

EBAxEB/8QAZwAAAwEAAAAAAAAAAAAAAAAAAgMEBQEBAQAAAAAAAAAAAAAAAAAAAw

xCYKVuAYAJgU5F4a+lOF1OCEqpTmFXSAXxlKZnjNhA9itX7Jk4DbkcqAi93d7Sqv

b0NnWEA95n/9k=

vert.jpg

jpg

Listing 3: Ein Datensatz mit Anlage in der exportierten XML-Datei

Soweit die Textform der XML-Dateien. Um Ihnen eine Vorstellung zu geben, was ein XML-Viewer aus diesen Daten macht, findet sich in Bild 6 ein Screenshot aus Stylus Studio, der die Schema-Struktur eines Datensatzes aufzeigt. Sie sieht nicht viel anders aus, als in der Textform; aber das ist ein gutes Zeichen dafür, dass auch andere Programme mit dem Inhalt der XML-Datei zurechtkommen und sie nicht falsch interpretieren. Denn es gibt viele verschiedene Möglichkeiten, um tabellarische Daten in XML darzustellen.

Teil des exportierten XML-Schemas in Stylus Studio

Bild 6: Teil des exportierten XML-Schemas in Stylus Studio

Kommen wir zum gegebenenfalls beim Export generierten Schema, das entweder als separate Datei vorliegt, oder in die XML-Datei integriert wurde. Inspizieren Sie die tblAdressen.xsd mit einem Texteditor. Ein Abdruck ist wegen ihres Umfangs hier nicht möglich.

Wesentlich ist, dass als Schema-URN der Ausdruck

xmlns:od="urn:schemas-microsoft-com:officedata"

im Kopf zu finden ist. Im Folgenden beziehen sich fast alle Elementdefinitionen auf diesen Schema-Namespace und beginnen deshalb mit dem Präfix od:. Und damit haben wir es mit einem Knackpunkt zu tun: Kein XML-Editor weiß mit diesem Namespace etwas anzufangen, da keine entsprechende Schema-Datei zu ihm vorhanden ist. Nur MS-Office-Anwendungen selbst kennen die Bedeutung der einzelnen XML-Attribute, wie etwa:

od:tableProperty ...

od:tableProperty ...

... type="3"

... od:jetComplexType="MSysComplexType_Attachment"

Da es sich hier überall um Typen handelt, die nicht in w3.org standardisiert sind, bleibt die Interpretation der XSD-Datei ausschließlich Access selbst vorbehalten. Wir werden sehen, dass es beim Re-Import tatsächlich regen Gebrauch vom Schema macht. Für die Weiterverwendung der XML-Dateien in anderen Programmen jedoch können Sie getrost auf die Ausgabe des Schemas verzichten. Mit einer Ausnahme: auch die anderen MS-Office-Programme kennen das Schema von officedata. An verschiedenen Stellen lassen sich XML-Daten auch unter Excel und Word einlesen. Mit den von Access exportierten kommen sie dabei bestens klar!

Import über die Oberfläche

Sie stoßen den Import einer XML-Datei an, indem Sie entweder im Menüband den Button Externe Daten | Importieren | XML-Datei anklicken, oder im Navigationsbereich, Bereich Tabellen, das Kontextmenu und Importieren aufrufen. Der Import-Dialog lässt Sie dann die Datei auswählen und führt Sie im weiteren Verlauf zum Dialog in Bild 7, dem offensichtlich bereits eine Analyse des XML-Inhalts vorausging. Denn hier zeigt der Baum gleich die Tabellen namentlich an, die der Import in ihr zu finden glaubt. Korrekt wird die Tabelle tblAdressen angegeben und außerdem alle in ihr enthaltenen Felder.

Der Optionen-Dialog beim Import einer XML-Datei

Bild 7: Der Optionen-Dialog beim Import einer XML-Datei

Dieser Baum dient nur zur Kontrolle. Eine Aus- oder Abwahl einzelner Tabellen oder Felder ist hier nicht vorgesehen. Sie können als einzige Option aber einstellen, ob nur die Tabellenstruktur importiert werden soll, also die dann angelegte Tabelle leer sein wird, oder ob auch die Daten eingelesen werden sollen. Diese können optional aber ebenso an eine bestehende Tabelle angehängt werden. Das allerdings setzt voraus, dass eine Tabelle exakt gleichen Namens schon vorhanden ist und diese auch dieselben Felder aufweist. Die Datentypen dieser Felder müssen jedoch nicht zwingend genau gleich sein. Der Import schafft ohne weiteres auch die Konvertierung etwa von String zu Long und umgekehrt. Dass eine Textzelle nicht einem Anlagefeld zugeordnet werden kann, versteht sich allerdings von selbst. Bei Inkompatibilitäten bricht der Import nicht ab, sondern führt alles, soweit möglich, durch und gibt stattdessen zum Schluss die Meldung aus, dass ein Teil der Aufgabe nicht erfolgreich war und weitere Informationen in der erzeugten Tabelle Importfehler zu finden seien. In den Datensätzen dieser Tabelle ist dann protokolliert, welche Schwierigkeiten aus welchem Grund auftraten.

Machen Sie einmal den Import-Test mit der XML-Datei tblAdressenOhneSchema.xml. Der Dialog aus Bild 7 zeigt nun interessanterweise nicht nur eine Tabelle an, sondern zwei: Außer der tblAdressen verzeichnet er auch eine vermeintliche Tabelle Bild. Hier wusste Access sich nicht anders zu helfen und konnte mangels Schema den komplexen Datentyp nicht anders auflösen. Fahren Sie dennoch fort. Als Ergebnis erhalten Sie eine leere Tabelle Bild, die immerhin die drei internen Anlagefelder anlegte. In der Tabelle Importfehler sind allerlei ominöse Gründe für den Fehlschlag zu finden, die sich alle jedoch nur auf diese Tabelle Bild beziehen. Korrekt angelegt hingegen wurde die Tabelle tblAdressen1 – da eine Tabelle gleichen Namens bereits existierte, benannte der Import sie automatisch um. Sie müssen sich also nicht um das Überschreiben vorhandener Daten sorgen.

Öffnen Sie diese Tabelle, so sieht die Sache auf den ersten Blick schon mal nicht schlecht aus. Alle Spalten und Datensätze sind da. Doch bei genauerem Hinsehen stimmt etwa das Geburtsdatum nicht. Es weist ein Format auf, das exakt dem Inhalt der jeweiligen XML-Zelle entspricht, aber kein gültiges Access-Datum darstellt.

Also öffnen Sie die Tabelle im Entwurf, um festzustellen, dass alle Felder samt und sonders im Textformat angelegt sind. Der Import konnte rein aus den XML-Feldinhalten nicht ermitteln, um welche Datentypen es sich handelt! Ohne Schema wäre hier Spekulieren angesagt.

Führen Sie den Test abermals mit der Datei tblAdressen.xml durch, die ja eine begleitende Schema-Datei besitzt. Hier läuft alles glatt. Nicht nur, dass die importierte Tabelle alle Felder mit korrekten Datentypen anzeigt und die gleichen Indizes anlegte, wie sie in der Originaltabelle vorhanden sind, auch die Ansicht des Datenblatt hat genau die gleiche Gestalt. Schriften oder Hintergründe stimmen mit der Originaltabelle überein.

Der Austausch von Tabellen über XML hat also einige Vorteile, weil hier wirklich eine 1:1-Kopie vorgenommen wird. XML-exportierte Tabellen können Sie so auch in andere Datenbanken transferieren, soweit sie nicht von anderen Tabellen abhängen.

Das allerdings ist bei unserer Adresstabelle durchaus der Fall. Benötigt sie doch für die korrekte Anzeige von Anreden, Orten und Ländern noch die drei Lookup-Tabellen. Aber diese sollten ja ebenfalls in der XML-Datei gespeichert sein, falls die Option Daten nachschlagen beim Export aktiviert wurde.

Machen Sie also einen weiteren Test mit der Datei tblAdressen_PlusSchema.xml, die das Ergebnis dieser Einstellung war. Das Dialogfenster zeigt beim Import nun tatsächlich alle vier Tabellen an und importiert sie in der korrekten Struktur. Über eine einzige XML-Datei können demnach mehrere Tabellen in eine andere Datenbank verfrachtet werden. Einziger Wermutstropfen: Die etwaigen Beziehungen zwischen den Tabellen legt der Import nicht an. Denn über diese steht weder in der XML-Datei, noch im Schema etwas.

Zu guter Letzt der Versuch, die Daten an die vorhandene Tabelle tblAdressen anzuhängen. Haben Sie diese Option beim Import aktiviert, so dürfen Sie sich auf eine längere Denkpause von Access gefasst machen. Denn kein einziger Datensatz wird importiert. Stattdessen finden Sie in der Tabelle Importfehler 9706 Gründe, warum es nicht ging: Der Primärindex ID der Tabelle verhinderte, dass Daten des gleichen Werts angefügt werden. Wäre die Zieltabelle leer gewesen, stünde einem Import der Datensätze hingegen nichts im Wege.

Testweise können Sie die tblAdressen leeren; sie haben ja eine Sicherung in Form der tblAdressen.xml vorliegen. Sie werden nun feststellen, dass selbst der Import aus der XML-Datei ohne Schema erfolgreich verläuft und die erforderliche Datenkonvertierung gewährleistet wird – mit Ausnahme des Anlagefelds natürlich...

Abfragen exportieren und importieren

Nicht nur Tabellen können nach XML exportiert werden. Mit Abfragen klappt es ebenfalls.

Die Abfrage qryAdressen der Beispieldatenbank fasst die Tabelle tblAdressen und ihre drei Lookup-Tabellen zusammen. Der Aufbau ergibt sich aus Bild 8 ersichtlich. Statt der Schlüssel-IDs für Anrede, Ort und Land werden direkt die passenden Werte im Ergebnis eingesetzt. Schauen wir, was der XML-Export damit anstellt.

Die Abfrage qryAdressen fasst Haupt- und Lookup-Tabellen zusammen

Bild 8: Die Abfrage qryAdressen fasst Haupt- und Lookup-Tabellen zusammen

Der Ablauf des Exports ist prinzipiell der gleiche, wie bei Tabellen. Im erweiterten Exportdialog fehlt allerdings die Option Daten nachschlagen. Ob Sie die Einstellung zu Indizes einbeziehen aktivieren, ist ohne Belang. Eine Abfrage weist solche nicht auf. Die Tabellen- und Feldeigenschaften sollten jedoch ausdrücklich aktiv sein. Auch das Schema sollte exportiert werden. Speichern Sie in die Datei qryAdressen.xml.

Was passiert nun, wenn diese Datei wieder importiert wird? Sollten Sie erwarten, dass damit ein Backup einer Abfrage erstellt werden kann, müssen wir Sie enttäuschen. Beim Import behandelt Access die Abfrage nämlich wie eine Tabelle. Tatsächlich stehen in der XML-Datei auch keine Informationen über den ihr zugrundeliegenden SQL-Ausdruck, sondern das Ergebnis der Abfrageausführung, wie es im Datenblatt erscheint.

Folglich zeigt der Importdialog auch im Baum unter Tabelle die qryAdressen samt ihrer Felder an, und nach Erledigung des Imports findet sich die neue Abfrage qryAdressen1 im Navigationsfenster.

Wozu soll das dann aber gut sein? Nun, vielleicht standen Sie schon vor der Aufgabe, aus einer Auswahlabfrage auf die Schnelle eine Tabellenerstellungsabfrage zu entwickeln, um die Ergebnisse temporär weiterverarbeiten zu können. Dazu müssen Sie erst eine Kopie der Abfrage unter anderem Namen anlegen, diese in eine Tabellenerstellungsabfrage umwandeln und die Zieltabelle angeben. Nach erfolgtem Schreiben des Ergebnisses löschen Sie die nicht mehr gebraucht Kopie wieder

Das lässt sich vermeiden, wenn Sie stattdessen den Export und Reimport über XML veranlassen. Vor allem dann, wenn sie die manuellen Schritte über ein Makro oder über VBA automatisieren, wie im nächsten Abschnitt beschrieben.

XML-Austausch über VBA

Aufgaben, die Sie über die Oberfläche von Access auslösen, haben fast alle ein Pendant in VBA-Anweisungen. Das ist beim XML-Export ebenso der Fall. Die Anweisung

RunCommand acCmdExportXML

ruft den Exportdialog von Access auf, so, als hätten Sie ihn über das Menüband aufgerufen. Sie schlägt allerdings dann fehl, wenn im Navigationsbereich keine Tabelle oder Abfrage markiert ist. Doch auch das lässt sich mit einer Zeile VBA erreichen:

Sie haben das Ende des frei verfügbaren Teil dieses Artikels erreicht!

Wenn Sie mehr lesen und auf viele weitere Artikel zugreifen möchten, melden Sie sich als Abonnent unter Login an. Falls nicht, bestellen Sie doch einfach ein Jahresabonnement!