# Access spalte kopiert nicht wenn Text zu lang



## Anojo (12. Dezember 2013)

Hi zusammen,

ich haben mir eine Access DB geschrieben und habe ab und zu das Problem das manche Zeilen nicht kopiert werden.

Erst mal ein paar Wörter zu meiner Anwendung:
Ich bekommen Daten aus dem Internet in einer Excel liste, die ich dann erst mal prüfe ob sie in meiner DB sind.
Falls nicht, kopier ich mir mit einem Formular und einer Anfüge-abfrage die benötigten Daten in die Access DB.

Jetzt ist mir öfters mal passiert dass er die Daten nicht einfügen wollte und ich wusste erst mal nicht warum.
Mittlerweile bin ich ein stück weiter was die frage betrift warum er es nicht macht.
Der Grund warum er es nicht kopiert ist das es eine Spalte gibt die ein Langtext enthält, der ab einer bestimmten größe des Textes das Access die ganze Zeile nicht mehr kopieren will.

Ich hoff das war einigermaßen verständlich.

Ärgerlich an der Sache ist halt das ich von Hand die ganzen Sachen dann rüber kopieren muss und komischerweise macht Access das dann ohne Probleme.

Ach ja, das komische an der Sache ist ebenfalls, das ich nicht mal eine Fehlermeldung bekommen warum Access es nicht kopiert.
Wenn ich dann nicht aufpasse werden die Sachen dann mehrmals in meine Mysql Datenbank gespeichert wo ich nochmal eine abgespeckte Kopie mit bearbeiteten Daten mache, die ich später dann wieder ins Internet raus gebe...


----------



## tombe (13. Dezember 2013)

Wir sollten sehen womit du die Daten kopierst. Ohne den Code zu kennen kann man auch nicht sagen wo der Fehler liegt.

Um was für einen Feldtyp handelt es sich beim dem "Langtext". Normalerweise haben Textfelder eine gewisse (maximale) Länge, 50 Zeichen ist glaube ich der Standard. Wird diese Länge beim Einfügen überschritten, kann es die Ursache für dein Problem sein.

Was mich aber auch wundert. Wenn du die Daten in mySQL brauchst, warum dann der Weg über Access?
Oder warum installierst du dir nicht den entsprechenden Treiber um mySQL-Datenbanken mit Access zu öffnen und zu bearbeiten. So musst du doch alles doppelt und dreifach prüfen damit Daten nicht schon vorhanden sind.


----------



## Yaslaw (13. Dezember 2013)

Klingt nach einem Anwendungsproblem. Sprich, du kopierst irgendwie falsch.
Da es aber etwa 20 Arten gibt um Excel-Daten ins Access zu kopieren, wäre Hilfreich wenn du genau beschreibst, wie du das machst.
Was ich glaube verstanden zu haben, ist, dass du ein Datasheet-Formular hast und die Excel-Daten von Hand da reinkopierst.


----------



## Anojo (13. Dezember 2013)

Der Umweg über Access brauch ich um herauszufinden welche Daten schon vorhanden sind und welche ich einfügen muss und eventuell was sich geändert hat. Wie schon gesagt bearbeite ich die Daten dann nochmal und füge sie dann in die MySQL db. Die bekommen dann aber eine neue id die dann in Access festgehalten wird damit ich die Daten wider finde wenn eine aktualisierung durchführen möchte...

Also sind die Daten nicht komplett identisch sondern ich verfolge somit die Änderungen.

Das mit der Max Länge ist schon mal ein guter Ansatz, ich hab da glaub nicht's drinnen stehen.

Ich bin gerade nicht zuhause, werd es aber heute Abend mal versuchen und dann kann ich auch mal ein paar Code Stücke schicken.

Der Feld Typ ist langtext. Und wird über eine Anfügeabfrage von der Excel in die Access db kopiert und ebenso in die MySQL wobei es nur in der Access db Probleme gibt


----------



## Yaslaw (13. Dezember 2013)

Aha, eine Anfügeabfrage. Bindest du die Excel-Tabelle vorher ein?

Zeig doch mal das SQL der Anfügeabfrage.


----------



## Anojo (17. Dezember 2013)

Mach ich sobald ich zuhause bin.

Ich hab eine Verknüpfung zu der Excel eingerichtet

So hier mal den Code


```
INSERT INTO Daten ( id, Anbieter, _Titel, Beschreibung, Update_Datum, Start_Datum, End_Datum, _Link, [-Code], Bedingung4mich, DB_id )
SELECT Neu.id, Neu.Anbieter, Neu._Titel, Neu.Beschreibung, Neu.Update_Datum, Neu.Start_Datum, Neu.End_Datum, Neu._Link, Neu.[-Code], Neu.Bedingung4mich, [Hilfstabelle DB_ID].id
FROM Neu, [Hilfstabelle DB_ID]
WHERE (((Neu.id)=[Formulare]![Daten neu]![id]));
```

Das mit dem Zeichen Größe gibt's beim Feld lang Text nicht


----------

