Wer die Musik liebt, kann nie ganz unglücklich werden. - Franz Schubert
emde IT-LÖSUNGEN
> Tel. 08131 / 99 69 80-0
> Kontakt per E-Mail
Lange Texte werden abgeschnitten beim Import aus Excel, CSV etc.
22. Juli 2018
Dieser Tage habe ich Produktdaten aus einer Excel-Datei nach Access 2016 importiert und leider erst viele Arbeitsschritte später entdeckt, dass der Text mit Produktbeschreibungen nach 255 Zeichen abgeschnitten war.
Ich habe dann mit XLS, XLSX, CSV etc. experimentiert, habe die Excel-Datenblätter wahlweise importiert oder eingebunden - nichts konnte Access dazu bewegen, den gesamten Text zu übernehmen.
Schließlich fanden wir heraus, dass man Zugriff auf den gesamten Text erhält, wenn man das Datenblatt einbindet und eine Abfrage auf der eingebundenen Tabelle anlegt, in der man irgendeine String-Operation auf das Textfeld anwendet, z.B. Replace([Textfeld];"a";"a").
Die so zugänglich gemachten Texte kann man dann wiederum z.B. über eine Anfüge-Abfrage problemlos in einer Access-Tabelle mit entsprechend großen Textfeldern speichern.
Gleiches Problem beim Export
Inzwischen haben wir gelernt, dass es beim Export ähnlich ist: Wenn man Texte via Abfrage nach Excel exportiert, geht offensichtlich die Information verloren, dass ein Feld vom Typ "Memo" ("Langer Text") ist.
Hier schafft eine temporäre Tabelle Abhilfe, in welche die Daten zunächst eingetragen werden. Wird dann diese Tabelle direkt exportiert, also ohne dazwischenliegende Abfrage, so wird der gesamte Inhalt des Memo-Feldes nach Excel übertragen.
Kommentare (3)
Christian Koch (Access-FEE)
am 14.04.2022hatten Sie mal getestet, was passiert, wenn in einer der ersten 8 Zeilen in der betroffenen Spalte ein Text länger als 256 Zeichen steht?
Der Import sollte dann in dieser Spalte nichts mehr abschneiden.
Viele Grüße und schöne Ostern
Christian Koch
Access-Fee.de
Anna
am 14.04.2022das wird vermutlich funktionieren, denn Access leitet ja aus den ersten Zeilen einer Excel-Datei den Datentyp ab. Leider passt das aber nicht immer: Es kann sein, dass in einer Adress-Datei viele Adressen mit einer numerischen PLZ stehen und dann kommt die erste ausländische Adresse mit einer alphanumerischen PLZ...
Und das Abschneiden der Daten ist halt besonders ärgerlich, weil es da nicht einmal eine Fehlermeldung gibt.
Schöne Grüße
Anna
Ansgar Weltermann
am 11.07.20221. zunächst Datenimport aus Excel wie gewohnt durchführen (mit Abschneiden der entsprechenden "Long Text"-Datenfelder durch Access)
2. Importierte Datensätze löschen, so dass man nur die "leere" Tabellenstruktur behält
3. Im Eigenschaftenblatt der Tabelle den Eintrag in "Format" des/der "Long-Text"-Datenfelder löschen
4. Dann neuerlich Datenimport, aber mit der Funktion "Fügen Sie eine Kopie der Datensätze an folgende Tabelle an:" (entsprechende "leere" Tabelle auswählen)
(5. Dann (wenn gewünscht), Primärschlüssel auswählen bzw. neu hinzufügen)
LG Ansgar
Anna
am 12.07.2022danke für diesen Tipp! Ich weiß gar nicht, warum ich das damals nicht so gemacht habe, aber manchmal ist man ja einfach betriebsblind :-)
Schöne Grüße
Anna
Joachim
am 14.12.2022Beim Export von Daten muss die mittels Abfrage erzeugte Tabelle zuerst noch editiert werden und das Feld, das den Memotext enthalten soll, auf "Memo" (long text) gesetzt werden, dann die vorhandenen Daten in der Tabelle löschen und die Abfrage zur Füllung der Tabelle erneut ausführen. Der direkte Export der Tabelle führt dann zum gewünschten Ergebnis.
Anna
am 19.02.2023