Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 2/2010.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Erfahren Sie, wie Sie Daten aus Text- oder ähnlichen Dateien in eine Access-Datenbank importieren.

Techniken

VBA, Tabellen

Voraussetzungen

Access 2000 und höher

Beispieldateien

TextdateienImportieren.mdb

Shortlink

www.access-im-unternehmen.de/707

Importieren von Textdateien

André Minhorst, Duisburg

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 (s. Abb. 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

Abb. 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 (s. Abb. 2).

pic002.png

Abb. 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 (s. Abb. 3).

pic003.png

Abb. 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 (s. Abb. 4)?

pic004.png

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

Excel-Daten importieren mit TransferSpreadsheet

Excel-Import-Assistent im Eigenbau

Excel automatisieren

Textvorlagen mit Daten füllen

Tabellen wie unter Excel

Zeichenketten zerlegen

Texte aufteilen

Flexible Datumstextfelder

Outlook und Access - Import und Export von Access-Daten

Platzbedarf für Text ermitteln

Tilgen mit Access und Excel

Platzhalterauswahl per Kontextmenü

Word, Excel und Co. im Griff

© 2003-2015 André Minhorst Alle Rechte vorbehalten.