Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

CSV an vorhandene Tabelle anfügen:Importfehler wg. falschem Datentyp?

Begonnen von maike128, Juni 03, 2016, 16:36:46

⏪ vorheriges - nächstes ⏩

maike128

Hallo zusammen!

ich bin neu im Forum und komme direkt mit einem Problem um die Ecke  ::)

Meine Access DB enthält eine Tabelle, an die ich monatlich neue Daten anfügen möchte. Die Rohdaten werden als CSV geliefert.

Beim erstmaligen Import kam es vorerst zu Importfehlern bei drei verschiedenen Feldern.
Zwei davon wurden von Access als "Datum/Uhrzeit" deklariert - hier hat die Anpassung des Datentyps auf "Text" Abhilfe geschaffen.
Ein weiteres Feld musste von "Long Integer" auf "Single" angepasst werden, damit es problemlos importiert wurde.

Nun steht mir ja (laut meinem Informationsstand) die Möglichkeit der Anpassung der Datentypen nicht zur Verfügung, wenn ich Daten an eine bestehende Tabelle anfüge. Dementsprechend erhalte ich bei den folgenden Importen wieder die ursprünglichen Importfehler.

Im Eigenschaftsblatt sind die Felder den korrigierten Felddatentypen zugeordnet, daran sollte es also nicht liegen... und ich möchte es möglichst vermeiden, die CSV vor dem Import bearbeiten zu müssen.

Ich habe das ganze Internet durchforstet und leider nichts gefunden, das mir helfen konnte.

Ich hoffe hiermit habe ich mehr Glück :-)

Hoffentlich habe ich mich verständlich ausgedrückt, ich bin noch ein "Neuling" was Access betrifft...

Vielen Dank schon Vorab!

LG Maike

MzKlMu

Hallo,
man importiert im Regelfall nicht direkt in eine Access Tabelle, sondern in eine temporäre Accesstabelle in der alle Felder auf dem Typ Text stehen. Das stellt man sicher, indem man ein Importspezifikation anlegt.
Aus dieser Zwischentabelle schaufelt man die Daten per Anfügeabfrage in die richtige Accesstabelle, die mit den korrekten Datentypen vorliegt.
In dieser Anfügeabfrage kann man die notwendigen Anpassungen der Datentypen vornehmen.
Gruß Klaus

maike128

Danke für deine schnelle Antwort!

Nur fürs Verständnis:

Das Bedeutet, ich importiere meine CSV monatlich als neue Tabelle und füge sie anschließend über eine Abfrage an die "Zieltabelle"?
Dann habe ich ja für jeden Monat eine eigene Tabelle in meiner DB...

Hat diese Vorgehensweise bestimmte Vorteile oder macht man das nur so, damit man den Datentyp je Feld anpassen kann? Und warum jedes Feld als Text und dann nicht gleich im gewünschten Format? :-X

MzKlMu

Hallo,
ZitatDann habe ich ja für jeden Monat eine eigene Tabelle in meiner DB...
die Hilfstabelle wird natürlich nach dem Anfügen gelöscht, wird ja nicht mehr benötigt.

Hast Du eine Importspezifikation angelegt ?
Dort kannst Du für jedes Feld einen Datentyp angeben.
Eine Spezifikation kann man beim erstmaligen manuellen Import anlegen.
Versuche erst mal das. Ich persönlich halte das mit der temp. Tabelle und der Anfügeabfrage für die beste Methode.

Dann muss aber sichergestellt sein, dass die CSV immer in der gleichen Struktur vorliegen. Das heißt, die Feldreihenfolge darf sich nicht ändern.

Nebenbei:
ZitatZwei davon wurden von Access als "Datum/Uhrzeit" deklariert - hier hat die Anpassung des Datentyps auf "Text"
Das ist sicher keine gute Idee, ein Datum als Text, mit kannst Du nichts mehr anfangen, noch nicht mal sortieren. Und Single als Datentyp ist auch eher unbrauchbar (ist zu ungenau) Double wäre da besser.
Gruß Klaus

maike128

Klingt plausibel..

Das werde ich wohl so machen - Danke!!  :)