none
Tabellenerstellungsabfrage aus vb.net an Accesse, Memofeld schlägt fehl. RRS feed

  • Frage

  • Servus Experten,

    ich habe eine simple Abfrage die ich von VB an Access sende um eine Tabelle zu erstellen. Hier mal die abfrage:

    SELECT id, FeldA & FeldB as FeldAB INTO TestTabelle FROM QuellTabelle

    Die Tabelle wird erstellt! Aber, das FeldA plus dem FeldB ergeben zusammen mehr als 255 Zeichen und in Access wird das FeldAB mit einer max Länge von 255 Zeichen erstellt (Rest wird abgeschnitten). Es macht keinen Unterschied ob ich nun die Abfrage aus VB ausführe oder direkt in Access. Der Einbau von Convert bzw Cast (gibt es das überhaupt in Access) wird mit einer Fehlermeldung quittiert.

    Wie muss die Abfrage denn in VB aussehen, damit ein Memofeld erstellt wird ?

    mfg eem monarch

    PS: Habe jetzt mal eine reine Select-Abfrage in VB gemacht, auch hier wird das zusammengesetzte Feld nach 255 Zeichen abgeschnitten ?!?!?!

    Dienstag, 9. September 2014 09:47

Alle Antworten

  • Hallo,

    sind denn in der Quelltabelle FeldA und FeldB als MEMO deklariert, oder Text ?

    Gruß

    Jens

    Dienstag, 9. September 2014 10:38
  • Hallo,

    siehe Allan Brown: Truncation of Memo fields

    Sprich: Memo-Felder sollte man nicht versuchen zu verknüpfen, verketten oder anderweitig behandeln, dann wird einr Text Spalte daraus und deren Limit von 255 Zeichen gilt.

    Gruß Elmar

    Dienstag, 9. September 2014 11:02
    Beantworter
  • Hallo Jens und Elmar,

    die ursprünglichen Felder sind keine MemoFelder sonder Text nur zusammen ergeben sie eben manchmal mehr als 255 Zeichen. Ich habe jetzt eine Lösung gefunden, die zwar nicht schön ist aber funzt

    Ich erstelle eine leere Tabelle als Beispiel

    Create Table WEBTABELLEtemporaer (FELD1 TEXT, FELD2 MEMO)

    dann schreibe ich die Daten mit

    INSERT INTO WEBTABELLEtemporaer ( FELD1, FELD2 ) SELECT ...

    das funzt ....

    trotzdem danke  für eure Mühe mfg eem monarch

    Dienstag, 9. September 2014 16:08