© www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 1(14) S21-25 4013-Datenimport in Access aus Textdateien (*.txt) Datenbanken, die in Form reiner Textdateien vorliegen, besitzen regelmässig einen Kopfsatz, der je Datensatzfeld die Datensatzfeldbezeichnung beinhaltet. Die Folgezeilen enthalten jeweils einen Datensatz. Die Abgrenzung der Felder im Kopfsatz und den Datensätzen erfolgt standardmässig durch Tabulatoren als Trennzeichen. Bei den Textddateien ist anzugeben, nach welcher Codierung diese abgespeichert wurden: Windows-Ansi, Windows-Dos, Unicode-Format usw. Übungsbeispiel: (4013a-daten-S21-25-Dos-westeurop.txt) Die Datensätze 21-25 liegen in der txt-Datei „4013a-daten-S21-25-Dos-westeurop.txt“ vor und sollen in Access eingelesen werden. Laden Sie die Datei zu diesem Zweck aus dem Internet herunter und speichern Sie diese in Ihr Arbeitsverzeichnis. Anschliessend wollen wir die Datei in Access einladen und an die bisherigen 20 Datensätze entsprechend anhängen. 4013 - 1. Versuch: Öffnen der Datei aus Access heraus: Laden Sie die Datei aus einer leeren Access-Umgebung heraus: Einrichtung einer leeren Access-Umgebung: a) Access neu starten b) Klick auf „Leere Datenbank“ c) Bei Dateiname wird systemseitig ein Dateiname für die leere Datenbank vorgeschlagen: z.B.: Datenbank1.accdb d) Mit „Erstellen“ den Vorschlagsnamen übernehmen und merken e) Anschließend geöffnete (leere) Datenbank sofort wieder schließen es wird der Access-Start-Bildschirm wieder angezeigt f) Im Access-Startbildschirm kann nun der leere Datenbankname (siege d)) angeklickt werden Resultat: obige Abbildung © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 2(14) Von hier aus kann nun über die Office-Schaltfläche - „Datei öffnen“ die Textdatei 4013a-daten-S21-25-Dos-westeurop.txt aus Ihrem Arbeitsverzeichnis eingeladen werden. Achten Sie beim Laden auf die Einstellung der txt-Dateinamenserweiterung, damit Sie die Datei in der Dateiauswahl auch sehen können). Es erscheint folgende Ansicht, die wir im ersten Versuch der Einfachheit halber mit „Fertig stellen“ zum Abschluss bringen möchten: Das Meldungsfenster beantworten wir mit: Fertigstellen, da wir zunächst ein schnelles Ergebnis anstreben OK © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 3(14) Ergebnis: Die Datei enthält diverse kryptische Zeichen, z.B. für die Umlaute (s.auch Feldnamen): 4013 - 2. Versuch: Öffnen der Datei über die Import-Funktion in Access und Angabe des Formatcodes, in dem die Textdatei abgespeichert wurde: Hinweis: Die Datei wurde im mitteleuropäischen DOS-Format abgespeichert txt-Dateiname einstellen OK © www.dozent-online.de / 4013-Aufg-Info-import import-txt-S21-25.docx / 4(14) EINSCHUB: Alternativanzeige zu vorheriger Seite, wenn die Datenbank noch leer ist, also keine einzige Tabelle vorhanden ist. Nur 2 Alternativen werden angezeigt: EINSCHUB ENDE © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 5(14) Ergebnis: Die Datei enthält diverse kryptische Zeichen, z.B. für die Umlaute. Daher FormatCode, in dem die Datei abgespeichert wurde, einstellen über „WEITERE“ Hinweis: Die Datei wurde im westeurop. DOS-Format gespeichert) OK © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 6(14) Die Umlaute werden nun korrekt angezeigt WEITER Nun noch einstellen: „Erste Zeile enthält Feldnamen“ Fertig stellen © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 7(14) Ergebnis: Alle Zeichen werden nun im richtigen Format angezeigt: - Alle Umlaute OK Unsere Feldbezeichnungen sind auch da Aber was fällt trotzdem auf? Das Feld AUNR ist zwar vorhanden, aber es fehlt der Inhalt. Dies deutet auf folgende Anomalie in Access hin: © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 8(14) 4013b-IMPORT-Anomalie bei Text-Formaten Beim Import von Text-Formaten überprüft Access die ersten 25 Textzeilen zur Festlegung des Datentyps. Hiernach wird z.B. für ein Datensatzfeld mit reinem Textinhalt für den Import der Datentyp „Text“ festgelegt oder für Datumsinhalte stellt Access den Datentyp „Datum/Uhrzeit“ ein. Bei Zahlenwerten kommt es in Abhängigkeit von der Art des Zahlenwertes mitunter zu Fehlinterpretationen. Während Dezimalzahlen über ein gesetztes Komma noch richtig interpretiert werden (Zahl Typ „double“), kommt es bei ganzzahligen Werten offensichtlich in Abhängigkeit von der Anzahl der Ziffern zu Ergebnisanomalien. Bei nur wenigen Ziffern (in unserem Beispiel etwa die PLZ oder die Anzahl bezogener Artikel) wird die Zahleneigenschaft richtig erkannt und sein Inhalt auch korrekt in die Zieldatei übertragen. Bei größeren Ziffernanzahlen (in unserem Beispiel etwa die AUNR) wird in Access2007 kein Inhalt übertragen (im Ggs. übrigens zum Importieren nach Excel2007). © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 9(14) EINSCHUB - Aufgabe 4013c Importtest mit kurzer und langer Auftragsnummer: Laden Sie nochmals die Version 4012-EingFormular-S1-20.accdb aus dem Internet. a) Importieren Sie 4013b-dt-S21-25-aunr-kurz-Dos.txt wie bei Versuch 2 gezeigt, aber beim letzten Schritt von Versuch 2 noch nicht auf „Fertigstellen“, sondern zunächst noch auf weiter bis die Einstellungsmöglichkeit kommt: Primärschlüssel einrichten? Hier auf „keinen Primärschlüssel“ klicken. Danach auf „Fertigstellen“ klicken. b) wie a) jedoch mit Import der Datei: 4013b-dt-S21-25-aunr-lang-Dos.txt © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 10(14) c) Kopieren + Einfügen der 2 * 5 Datensätze in die Datensatztabelle der Datei 4012-EingFormular-S1-20.accdb Die Datensätze der Ergebnisse a) und b) sollen nun mittels Markieren und Kopieren an die Datensätze der Datei 4012-EingFormular-S1-20.accdb angehängt werden. Was stellen Sie fest? Kopieren funktioniert so nicht, warum? Es fehlt ein Datensatzfeld Daher vor die AUNR ein „Dummyfeld“ ohne Inhalt einfügen: Nun stimmt die Feldanzahl mit der Zieldatei überein. Jetzt können die jeweiligen 5 Datensätze jeweils komplett markiert werden und der Zieltabelle angehängt werden. Zum Einfügen der Datensätze auf das Satzeinfügesymbol klicken: Nun den Mauscursor auf den Stern stellen und rechte Maustaste © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 11(14) im Kontextmenü auf „Einfügen“ klicken. Ergebnis wie oben: Einschub Ende Man sieht jedoch, dass die AUNR inhaltlich aber gleichwohl nicht dabei ist. Abhilfe: - © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 12(14) Abhilfe: Für größere Zahlenwerte (hier: AUNR) ist daher das Zielformat zu ändern: Anstatt Zahl (Long Integer) den Datentyp auf Text einstellen. © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 13(14) 4013 - 3. Versuch: manuelles Anhängen IMPORT mit Datentypänderung bei großen Zahlen Laden Sie nochmals die Datei 4012-EingFormular-S1-20.accdb und importieren Sie die 5 Datensätze aus der Datei 4013a-daten-S21-25-Dos-westeurop.txt wie bei Versuch2 – jetzt aber mit Felddatentypänderung bei AUNR: Einstellungen wie bei Versuch 2 – bei „FERTIGSTELLEN“ aber zunächst nochmals auf „WEITERE“ klicken: Nach Einstellen: „Erste Zeile enthält Feldnamen“ Nun die Felddatentypen einstellen über: WEITERE --- es erscheinen obige Einstellmöglichkeiten der Felddatentypen: (siehe bei Abhilfe). Danach weiter © www.dozent-online.de / 4013-Aufg-Info-import-txt-S21-25.docx / 14(14) Bis zur Frage nach Einrichtung des Primärschlüssels: Primärschlüssel einrichten? Hier auf „keinen Primärschlüssel“ klicken. Danach auf „Fertigstellen“ klicken. Und mit copy/Einfg die Datensätze der neuen Tabelle (5 Sätze) an die Tabelle (20 Sätze) manuell anhängen