Datenaustausch zwischen Excel und Access

Manfred Hoffbauer, Düsseldorf

Access verfügt über mehrere komfortable Methoden für den Datenaustausch mit Excel-Arbeitsblättern. Wer diese Methoden häufig nutzt, kann seine Arbeit mit dem Assistenten aus diesem Beitrag weiter optimieren: Er speichert die Einstellungen für den Datenaustausch mit Excel in einer Tabelle.

Für den gelegentlichen Datenaustausch mit Excel sind die Menübefehle von Access am besten geeignet.

Sie sind ohne zusätzliche Installationsarbeiten sofort verfügbar.

Tabelle speichern unter

Das Exportieren einer Access-Tabelle in ein Excel-Arbeitsblatt erfolgt über den Befehl Datei/Speichern unter/Exportieren.

Zur Anwendung des Befehls gehen Sie wie folgt vor:

  • öffnen Sie das Datenblatt der Tabelle, die Sie exportieren wollen.
  • Wählen Sie den Befehl Datei ( Speichern unter/Exportieren aus der Menüzeile.
  • Markieren Sie in dem sich öffnenden Dialog mit der Titelzeile Speicher unter … die Option In eine externe Datei oder Datenbank.
  • In dem sich öffnenden Dialog Speichern Tabelle „Name“ in … legen Sie das Laufwerk, den Ordner, den Dateinamen und den Dateityp der Zieldatei fest.
  • Mit einem Klick auf den Button Exportieren starten Sie den Vorgang. (
  • Mit dem Kombinationsfeld Dateityp bestimmen Sie das Format der Datei, in welche die Tabelle exportiert wird(s. Abb. 1). Access zeigt in der Liste mit der Beschriftung Dateityp alle Dateitypen an, in die es exportieren kann.

    Abb. 1: Mit der Liste Dateityp legen Sie das Format für die Exportdatei fest.

    Für einen Export in ein Excel-Arbeitsblatt sollten Sie einen der mit Microsoft Excel gekennzeichneten Dateitypen auswählen.

    Abb. 2: Die exportierte Datei sollte sich mit Excel öffnen lassen.

    Mit der Auswahl eines Dateityps passt Access die Erweiterung der Zieldatei an. Wenn Sie beispielsweise Microsoft Excel als Dateityp auswählen, dann ändert sich die Dateierweiterung auf .xls.

    Ein Klick auf die Schaltfläche Exportieren startet den Vorgang. Access generiert die Arbeitsblattdatei und schließt den Dialog. Zur Kontrolle können Sie die generierte Datei mit Excel öffnen (s. Abb. 2).

    Externe Daten importieren

    Der Befehl Datei ( Externe Daten ( Importieren ist das Gegenstück zu Speichern unter.

    Mit diesem Befehl importieren Sie die Daten aus einem Excel-Arbeitsblatt in eine Access-Tabelle. Zur Anwendung des Befehls gehen Sie wie folgt vor:

  • Wählen Sie den Befehl Datei ( Externe Daten ( Importieren aus der Menüzeile.
  • In dem sich öffnenden Dialog Importieren sollten Sie als Erstes den Dateityp (zum Beispiel Microsoft Excel (*.xls)) der zu importierenden Datei auswählen.
  • Nach der Auswahl des Dateityps zeigt der Dialog nur noch Ordner und die Dateien des gewählten Typs an. Im Beispiel werden also nur noch Ordner und Excel-Arbeitsblätter angezeigt.
  • Markieren Sie die Datei, die Sie importieren wollen.
  • Ein Klick auf die Schaltfläche Importieren öffnet den Dialog Import-Assistent für Kalkulationstabellen, mit dem Sie weitere Einstellungen vornehmen können.
  • Wählen Sie auf jeder der folgenden Dialogseiten die gewünschten Optionen und klicken Sie jeweils auf die Schaltfläche Weiter.
  • Mit einem Klick auf die Schaltfläche Fertig stellen starten Sie den Importvorgang entweder von der letzten Dialogseite des Assistenten oder von einer vorherigen. Falls Sie vor der letzten Dialogseite auf Fertig stellen klicken, setzt Access für die restlichen Optionen Standardwerte ein. (
  • Abb. 3: Der Import-Assistent für Kalkulationstabellen bietet fast die gleichen Optionen wie die TransferSpreadsheet-Methode.

    Ein genauer Blick auf die verschiedenen Optionen des Import-Assistenten für Kalkulationstabellen lohnt sich auf jeden Fall. Der Grund: Die meisten Optionen finden Sie später in der TransferSpreadsheet-Methode wieder.

    Tabellenblätter und benannteBereiche

    Der Import-Assistent für Kalkulationstabellen zeigt auf der ersten Dialogseite eine Auswahlliste der Tabellenblätter der Excel-Arbeitsblattdatei an. Die Tabellenblätter sind die Register des Arbeitsblatts.

    über eine zweite Option können Sie eine Liste der benannten Bereiche des Arbeitsblatts abfragen. Diese Option ist nur dann sinnvoll, wenn Sie die zu importierenden Daten vorher in Excel als benannten Bereich definiert haben.

    Erste Zeile enthältSpaltenüberschriften

    Auf der zweiten Dialogseite stellen Sie mit dem gleichnamigen Kontrollkästchen ein, ob die erste Zeile der zu importierenden Excel-Datei die Feldnamen enthält. Falls Sie das Kontrollkästchen ankreuzen, verwendet Access die Bezeichnungen in der ersten Zeile als Feldnamen für die Importtabelle.

    Optionen für die Importtabelle

    Auf den nächsten drei Dialogseiten können Sie mehrere Optionen für die Importtabelle festlegen. Der Import kann in eine neue oder eine bestehende Tabelle erfolgen.

    Außerdem können Sie für jede Spalte aus der Excel-Tabelle ein Datenfeld in der Access-Tabelle zuweisen, Sie können Datentypen festlegen, Feldnamen ändern und einiges mehr. Diese Optionen stehen in der TransferSpreadsheet-Methode nicht zur Verfügung und werden deshalb an dieser Stelle nicht weiter erläutert.

    Die Menübefehle für den Datenaustausch sind sehr komfortabel, erfordern aber auch die Einstellung zahlreicher Optionen. Mit dem Assistenten aus diesem Beitrag können Sie wiederkehrende Aufgaben weiter optimieren. Er bietet Ihnen die Möglichkeit, die verschiedenen Optionen in einer Tabelle zu speichern. Damit können Sie mehrere Import- und Exportvorgänge einmal festlegen und jederzeit wieder abrufen.

    Hinweis

    Die für Access 97 geeignete Version des Assistenten finden Sie in der Datenbank TransferSpreadsheet97.mdb. Die Version für Access 2000 und XP ist in der Datenbank TransferSpreadsheet2000.mdb enthalten.

    Das genaue äquivalent zu den Menübefehlen von Access ist die TransferSpreadsheet-Methode. Sie können diese Methode als TransferArbeitsblatt-Methode in Makros oder als TransferSpreadsheet-Methode in VBA verwenden. Die Programmierung des Assistenten erfolgt mit VBA.

    Die Parameter der TransferSpreadsheet-Methode

    Die Syntax für den Aufruf der TransferSpreadsheet-Methode lautet wie folgt:

    DoCmd.TransferSpreadsheet [Transfertyp][, Dateiformat], Tabellenname, Dateiname[, Besitzt Feldnamen][, Bereich]

    Die Beispieldatenbank zu diesem Beitrag enthält ein Formular, mit dem Sie alle Parameter der TransferSpreadsheet-Methode einstellen und in einer Tabelle speichern können.

    AAbb. 4: Das Formular des Datentransfer-Assistenten

    Damit können Sie die Einstellungen für mehrere Im- und Exportvorgänge komfortabel verwalten und jederzeit wieder abrufen. Das Formular hat den Namen frmTransfers, die Tabelle heißt tblTransfers.

    Transfertyp

    Für den optionalen Parameter Transfertyp können Sie die folgenden drei Parameter angeben:

    Parameter

    Wert

    acImport

    0

    acExport

    1

    acLink

    2

    Tab. 1: Die zulässigen Werte für Transfertyp

    Damit diese Werte nicht nur als Konstanten in VBA, sondern auch für den Assistenten verfügbar sind, wurde die Tabelle tblTransfertypen angelegt. Sie speichert die Werte aus obiger Tabelle in den Feldern TransfertypID und Transfertyp.

    Abb. 5: Das Datenblatt der Tabelle tblTransfertypen

    Beim Aufruf der TransferSpreadsheet-Methode steuert der Transfertyp die durchzuführende Aktion. Sie können mit der gleichen Methode Daten importieren oder exportieren.

    Im Formular frmTransfers können Sie den Transfertyp über ein Kombinationsfeld auswählen. Das Formular speichert die TransfertypID des ausgewählten Eintrags im gleichnamigen Feld der Tabelle tblTransfers. Das Feld TransfertypID ist ein Nachschlagefeld, das mit der Tabelle tblTransfertypen verknüpft ist.

    Dateiformat

    Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
    Hier geht es zur Bestellung des Jahresabonnements des Magazins Access im Unternehmen:
    Zur Bestellung ...
    Danach greifen Sie sofort auf alle rund 1.000 Artikel unseres Angebots zu - auch auf diesen hier!
    Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

    Schreibe einen Kommentar