Home > Artikel > Ausgabe 8/2012 > Access und Excel: Import und Export

Access und Excel: 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 Zusammenarbeit von Access und Excel ist schon immer fruchtbar gewesen – egal, ob Daten aus Access nach Excel oder umgekehrt importiert oder verknüpft werden oder ob die beiden Anwendungen sich gegenseitig fernsteuern. In den Fällen, in denen der Benutzer es richtig macht, profitieren die für Einsteiger so ähnlich erscheinenden und dennoch so unterschiedlichen Anwendungen voneinander. In dieser Artikelreihe zeigen wir Ihnen, wie Access und Excel zusammenarbeiten. Im ersten Teil geht es um den Import und Export von Daten.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1208_AccessUndExcel.mdb und der Datei tblArtikel.xls.

Von Access nach Excel

Als Erstes schauen wir uns die verschiedenen Möglichkeiten an, wie Sie Daten von Access nach Excel verschieben oder verknüpfen. Dabei kommen auch durchaus profane Methoden zum Zug – wie zum Beispiel die Zwischenablage.

Kopieren über die Zwischenablage

Der einfachste Weg, Daten aus einer Access-Tabelle in ein Excel-Sheet zu übertragen, ist die Zwischenablage. Wenn Sie alle Datensätze einer Tabelle wie etwa der Tabelle tblArtikel kopieren möchten, markieren Sie die zu kopierenden Daten, indem Sie auf die linke obere Ecke der Tabelle klicken (siehe Bild 1). Um die markierten Daten in die Zwischenablage zu übertragen, betätigen Sie die Tastenkombination Strg + C.

Markieren aller Datensätze einer Tabelle per Mausklick auf die linke obere Ecke

Bild 1: Markieren aller Datensätze einer Tabelle per Mausklick auf die linke obere Ecke

Danach aktivieren Sie Excel und platzieren die Einfügemarke an die Stelle, welche das linke obere Element der zu kopierenden Daten aufnehmen soll. Betätigen Sie die Tastenkombination Strg + V, um die Daten einzufügen.

Das Ergebnis sieht (nach der Anpassung der Zeilenhöhen und Spaltenbreiten) wie in Bild 2 aus – die Daten wurden samt Spaltenüberschriften übernommen.

Excel-Tabelle mit frisch eingefügten Daten aus einer Access-Tabelle

Bild 2: Excel-Tabelle mit frisch eingefügten Daten aus einer Access-Tabelle

Auch die Einheiten wurden soweit übertragen – lediglich das die Werte des Ja/Nein-Feldes Auslaufartikel wurden mit WAHR und FALSCH in die Excel-Tabelle eingetragen.

Auf die gleiche Art können Sie auch einen oder mehrere zusammenhängende Datensätze nach Excel übernehmen. Dazu markieren Sie alle zu kopierenden Datensätze und gehen wie oben beschrieben vor (siehe Bild 3). Auch hier werden die Spaltenköpfe übernommen.

Kopieren nur einiger Zeilen einer Access-Tabelle

Bild 3: Kopieren nur einiger Zeilen einer Access-Tabelle

Und schließlich können Sie auch noch den Inhalt einzelner Spalten kopieren. Im Beispiel aus Bild 4 soll nur die Spalte mit den Artikelnamen kopiert werden.

Kopieren einer einzelnen Spalte

Bild 4: Kopieren einer einzelnen Spalte

Dazu klicken Sie einfach auf dem Kopf der zu kopierenden Spalte. Die Daten werden dann ebenfalls inklusive Spaltenkopf in die Excel-Tabelle eingefügt.

Wenn Sie bestimmte Felder einiger Datensätze kopieren möchten, kommen Sie allerdings nicht um die Erstellung einer entsprechenden Abfrage herum. Zeigen Sie diese in der Datenblattansicht an und kopieren Sie die daraus gewünschten Daten.

Kopieren von Excel nach Access

Der umgekehrte Weg ist nicht ganz so komfortabel. Das liegt aber auch daran, dass Access natürlich ein festes Schema vorgibt und Excel nicht – hier können Sie quasi beliebige Inhalte einfügen. Andersherum ist es weitaus schwieriger: Wenn Sie Daten von Excel in die Zwischenablage und von dort in eine bestehende Access-Tabelle kopieren wollen, müssen schon alle Felddatentypen genau passen, die Anzahl der Felder übereinstimmen et cetera.

Auf gut deutsch: Es funktioniert so gut wie gar nicht. Anders sieht es natürlich aus, wenn Sie nur einmal den Inhalt eines Feldes von Excel nach Access übertragen möchten. In diesem Fall muss der hinzugefügte Ausdruck lediglich den passenden Datentyp aufweisen.

Exportieren von Access nach Excel

Wenn Sie eine komplette Tabelle oder Abfrage in eine neue Excel-Datei exportieren möchten, verwenden Sie den Kontextmenü-Eintrag Exportieren|Excel des zu exportierenden Objekts aus dem Datenbankfenster beziehungsweise dem Navigationsbereich (siehe Bild 5). Es erscheint der Dialog Exportieren – Excel-Tabelle, mit dem Sie die Zieltabelle angeben, das Dateiformat auswählen und angeben, ob die Ausgabe formatiert erfolgen soll. Außerdem können Sie noch festlegen, ob Access das neue Excel-Dokument gleich nach dem Erstellen öffnen soll. Nach einem Mausklick auf die Schaltfläche OK wird die gewünschte Datei erstellt.

Exportieren einer kompletten Tabelle von Access nach Excel

Bild 5: Exportieren einer kompletten Tabelle von Access nach Excel

Auch mit dieser Methode können Sie einzelne Datensätze speichern. Dazu öffnen Sie die zu exportierende Tabelle oder Abfrage, markieren die betroffenen Datensätze (naturgemäß können hier nur zusammenhängende Datensätze markiert werden) und rufen dann über das Kontextmenü der Tabelle im Datenbankfenster beziehungsweise Navigationsbereich den Export-Eintrag auf. Nun wird eine weitere Option aktiviert, mit der Sie festlegen können, dass nur die markierten Datensätze exportiert werden sollen.

Diese Variante hat einen Nachteil: Sie können damit immer nur eine neue Excel-Datei erstellen oder eine bestehende überschreiben. Das Einfügen als neues Tabellenblatt ist nicht möglich.

Beachten Sie auch, dass beim Export von Tabellen mit Nachschlagefeldern die angezeigten Werte exportiert werden und nicht die tatsächlichen Werte der Fremdschlüsselfelder. Dies trifft in der Tabelle tblArtikel beispielsweise auf die Felder KategorieID und LieferantID zu – deren angezeigte Inhalte werden als Text in die entsprechende Spalte der Excel-Tabelle exportiert.

Achtung, Shortcut!

Dies gelingt hingegen auf eine andere Weise überraschend einfach (getestet nur unter Access 2010): Öffnen Sie einfach die Access-Datenbank mit aktiviertem Datenbankfenster oder Navigationsbereich und daneben die Excel-Tabelle. Nun ziehen Sie einfach eine Tabelle oder Abfrage aus einem dieser Bereiche auf die Zelle in der Excel-Tabelle, welche die erste Spaltenüberschrift enthalten soll. Fertig - dies kopiert ebenfalls die komplette Tabelle.

Importieren von Daten aus Excel

Wenn Sie Daten aus einer Excel-Tabelle nach Access importieren möchten, haben Sie mehrere Möglichkeiten. Einige davon werden von Access aus initiiert, andere von Excel aus.

Bei den von Access aus gesteuerten Methoden gibt es die Möglichkeit zum Import und zum Verknüpfen der benötigten Daten. Unter Access 2010 rufen Sie diese Methoden beide über den Ribbon-Eintrag Externe Daten|Importieren und Verknüpfen|Excel auf (siehe Bild 6).

Aufrufen des Imports oder der Verknüpfung von Daten aus Excel von Access aus

Bild 6: Aufrufen des Imports oder der Verknüpfung von Daten aus Excel von Access aus

Dies öffnet den Dialog aus Bild 7. Hier finden Sie drei Möglichkeiten: den Import in eine neue Tabelle, das Anhängen an eine bestehende Tabelle oder das Verknüpfen der Excel-Tabelle.

Dialog zum Steuern von Import- und Verknüpfungsvorgängen

Bild 7: Dialog zum Steuern von Import- und Verknüpfungsvorgängen

Wir haben zu Testzwecken einfach den Inhalt der Tabelle tblArtikel in eine neue Excel-Datei namens tblArtikel.xls im Datenbankverzeichnis exportiert – mal sehen, wie die Daten aussehen, wenn wir diese auf unterschiedliche Arten wieder in die Access-Datenbank importieren.

Import in eine neue Tabelle

Bei der ersten Variante soll eine neue Tabelle in der aktuellen Access-Datenbank angelegt werden. Diese Option öffnet zunächst einen Dialog, mit dem Sie auswählen, ob die Excel-Tabelle in der ersten Spalte Überschriften enthält, die beim Erstellen der neuen Tabelle als Feldnamen verwendet werden sollen (siehe Bild 8).

Festlegen der ersten Spalte als Lieferant für Zeilenüberschriften

Bild 8: Festlegen der ersten Spalte als Lieferant für Zeilenüberschriften

Die Spaltenüberschriften entsprechen genau den Feldnamen der zuvor exportierten Tabelle, sodass wir diese verwenden. Wenn Sie sich hier anders entscheiden, landen die Spaltenüberschriften in einem eigenen Datensatz in der Zieltabelle. Diese wird etwa unter Access 2010 standardmäßig mit generischen Feldnamen wie Feld1, Feld2 und so weiter ausgestattet.

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!