4013-Datenimport in Access aus Textdateien (*.txt) - dozent

Werbung
© 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
Herunterladen