Importieren von Textdateien

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

Gelegentlich importiert oder verknüpft man eine Textdatei, eine Excel-Tabelle oder auch eine Tabelle einer anderen Datenbank, um sich der darin enthaltenen Daten zu bemächtigen. Je nachdem, welche Quelle zum Einsatz kommt, wie die Daten beschaffen sind und ob die Daten nur einmal oder regelmäßig importiert werden sollen, wählt man unterschiedliche Strategien. Wir stellen einige davon vor und liefern Tipps und Tricks rund um den Import von Daten.

Beschaffenheit und Quelle der Daten

Daten können sehr unterschiedlich aussehen: So liefern Tabellen aus Textdateien oder von Excel meist eher nicht normierte Daten, während dies beim Import von Daten aus bestehenden Datenbanken schon eher der Fall ist. Auch XML-Dokumente kommen immer öfter für den Datenaustausch zum Einsatz, wobei die enthaltenen Daten nicht unbedingt besser strukturiert sein müssen als in anderen Datenformaten.

Die Struktur der Daten fremder Datenquellen ist aber fast nie so gestaltet, dass Sie diese direkt in die Zieltabellen übernehmen können.

Ein direkter Import ist daher nur dann möglich, wenn Sie selbst Daten aus eigenen Datenbanken konsolidieren möchten – beispielsweise, wenn Außendienstler mit den Daten ihrer Kunden unterwegs sind und zu bestimmten Zeiten, also beispielsweise kurz vor Feierabend oder dem Wochenenhde, ihre Daten zur Zentrale schicken, wo diese der zentralen Datenbank einverleibt werden sollen.

Wenn Sie Daten wie Adressen aus Quellen wie Exceltabellen oder Textdateien erhalten, sind diese meist nicht normiert, was bedeutet, dass diese beispielsweise redundante Daten enthalten (für die weitere Beschreibung gehen wir davon aus, dass wir es mit einer Excel- oder Textdatei zu tun haben, die aus einer oder mehreren Zeilen besteht und einzelne Felder durch Trennzeichen wie das Semikolon oder Tabs voneinander getrennt sind).

Das beste Beispiel hierfür sind die Anreden in einer Adressentabelle: Die zu importierenden Tabellen enthalten dafür meist ein eigenes Feld mit Werten wie Herr, Herrn oder Frau. Unter Access würde man eine eigene Tabelle anlegen, die alle Anreden enthält, wobei jeder Anrede ein eindeutiger Schlüssel zugeordnet ist (beispielsweise 1 für Herr, 2 für Frau).

In die eigentliche Adressentabelle braucht man dann im einfachsten Fall statt der Anrede nur noch den der Anrede entsprechenden Wert einzutragen. Wenn die Daten dann in Formularen oder Berichten bearbeitet oder angezeigt werden sollen, sorgen eine Verknüpfung zwischen den beiden Tabellen und eine entsprechende Abfrage dafür, dass die Adresse wieder mit dem in der Anredentabelle enthaltenen Ausdruck verknüpft wird.

Lange Rede, kurzer Sinn: Die Daten aus der Quelltabelle müssen beim Import so auf die Adressen- und die Anreden-Tabelle aufgeteilt werden, dass anschließend jede Adresse über die Verknüpfung zwischen Adresse und Anrede wieder die richtige Anrede erhält.

Importhäufigkeit

Wichtig für den Import ist auch der Zeitpunkt: Soll dieser nur einmal geschehen, um Daten aus verschiedenen Datenquellen zu konsolidieren Oder laufen regelmäßig Daten aus verschiedenen Quellen auf, die einer Hauptdatenbank zugeführt werden sollen

Bei einem einmaligen Import weniger Daten wird man sich wesentlich weniger Mühe geben, einen möglichst vollautomatischen Import zu kreieren. In diesem Fall legt man vielleicht sogar hier und da selbst Hand an, um Daten geradezubiegen.

Ein Beispiel hierfür sind Adressen aus Excel-Tabellen, deren Felder zwar theoretisch einem bestimmten Datentyp entsprechen sollten (etwa Datum beim Geburtstag), aber tatsächlich nicht nur ein Datum, sondern auch noch weitere Informationen enthalten (zum Beispiel 23.1.1971 – wichtig!).

Wenn der Import jedoch regelmäßig geschieht, steckt man wahrscheinlich viel mehr Zeit und Mühe in einen sauberen und automatischen Import, bei dem man am besten nur noch eine Schaltfläche betätigen muss und die Daten dann auf einen Rutsch in die Zieltabellen gelangen.

Der Import-Assistent von Access

In einigen Fällen leistet der Import-Assistent von Access wertvolle Dienste – man sollte ihn einfach ausprobieren, bevor man sich an die Programmierung eines Imports macht. Außerdem lassen sich die Parameter eines Imports auch speichern, um diesen später erneut auszuführen.

Die Import-Assistenten für verschiedene Importformate rufen Sie unter Access 2007 über das Ribbon-Tab Externe Daten auf (siehe Bild 1). Bei älteren Access-Versionen finden Sie diese Befehle unter Datei|Externe Daten|Importieren… Im dortigen Importieren-Dialog wählen Sie die Datenquelle aus, während dies unter Access 2007 bereits über die Auswahl der entsprechenden Ribbon-Schaltfläche geschieht.

pic001.png

Bild 1: Auswahl des Import-Formats im Ribbon von Access 2007

Verknüpfen oder importieren

Je nach Vorgehensweise importieren Sie die Daten nicht gleich, sondern machen diese zunächst in Form einer verknüpften Tabelle verfügbar. In diesem Fall wählen Sie unter Access 2003 und älter nicht den Menüeintrag Datei|Externe Daten|Importieren…, sondern Datei|Externe Daten|Tabellen verknüpfen… aus.

Unter Access 2007 haben Sie noch einen Schritt länger Zeit, sich zwischen einem Import oder einer Verknüpfung zu entscheiden: Hier legen Sie dies erst im folgenden Dialog fest.

Das Resultat beider Vorgänge sieht indes ähnlich aus: Beim Import entsteht eine Tabelle, die Sie wie die übrigen Tabellen über das Datenbankfenster beziehungsweise den Navigationsbereich öffnen können, beim Verknüpfen erscheint ebenfalls ein neuer Eintrag neben den übrigen Tabellen.

Dieser ist allerdings durch ein spezielles Symbol als Verknüpfung gekennzeichnet. Auch nach dem Öffnen einer importierten oder verknüpften Tabelle lassen sich kaum Unterschiede feststellen, denn Access zeigt die Daten unabhängig von der Quelle in der für Access-Tabellen üblichen Datenblattansicht an.

Verknüpfte Textdateien

Textdateien sind ein probates Mittel, um Inhalte zwischen Anwendungen zu transferieren. XML bietet zwar aufgrund seiner Strukturierung mehr Möglichkeiten, aber nicht alle Anwendungen erlauben den Export und Import von Daten in diesem Format.

Nehmen wir also an, Sie erhalten Daten im Textformat, wobei jede Zeile einen Datensatz enthält und die einzelnen Felder durch Trennzeichen wie ein Semikolon oder ein Tabulator-Zeichen voneinander getrennt sind.

Nehmen wir weiterhin an, dass die Daten regelmäßig neu geliefert werden – beispielsweise einmal pro Tag, und zwar nachts.

Damit Sie die Daten bequem über eine verknüpfte Tabelle anpacken können, brauchen Sie nur einmalig eine Verknüpfung zu erstellen und können die dahinter verborgene Textdatei beliebig austauschen – Access greift immer wieder auf die richtige Textdatei zu, wenn die Verknüpfung richtig definiert und die Datei an gleicher Stelle unter gleichem Namen zu finden ist.

Nachdem Sie dem Importassistenten mitgeteilt haben, dass Sie eine Verknüpfung erstellen möchten und auf welcher Textdatei diese basiert, zeigt dieser die enthaltenen Daten an (siehe Bild 2).

pic002.png

Bild 2: Erstellen einer Verknüpfung mit einer Textdatei

Im folgenden Schritt legen Sie fest, ob die erste Zeile der Datei Spaltenüberschriften enthält und welches Trennzeichen die einzelnen Feldinhalte voneinander trennt (siehe Bild 3).

pic003.png

Bild 3: Sind Spaltenüberschriften vorhanden Welches Trennzeichen wird verwendet

Schließlich legen Sie Details für jede einzelne Spalte fest: Welchen Feldnamen soll das Feld erhalten Welchen Datentyp besitzen die darin gespeicherten Werte Soll das Feld gegebenenfalls gar nicht in der verknüpften Tabelle erscheinen (siehe Bild 4)

pic004.png

Bild 4: Festlegen der Eigenschaften für die verknüpften Felder

In einem weiteren Dialog, den Sie über die Schaltfläche Weitere… öffnen, finden Sie alle eingestellten Parameter in einer Übersicht. Den Parametersatz für diesen Import können Sie mit der Schaltfläche Speichern unter… speichern und später wieder herstellen (siehe Bild 5).

Die Verknüpfung finden Sie anschließend zwischen den übrigen Tabellen der Datenbank im Datenbankfenster beziehungsweise im Navigationsbereich der Anwendung. Bild 6 zeigt einige Beispiele für verknüpfte Tabellen, so zum Beispiel mit einer Access-Tabelle (tblBeispielAccess), einer Excel-Tabelle (tblBeispielExcel) und einer Textdatei (tblBeispielText) als Quelle.

pic005.png

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