Oktober 23, 2021, 16:19:09

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Textfeld im Formular schneidet bei 255 Zeichen ab

Begonnen von Georg_L, Oktober 19, 2013, 01:14:04

⏪ vorheriges - nächstes ⏩

Georg_L

Hallo,
in der Suche bin ich nicht fündig geworden. Scheint ein merkwürdiges Phänomen zu sein.
Ursprünglich hatte ich ein Tabellenfeld mit Felddatentyp Text definiert, dann aber festgestellt, daß die darin abgelegten Texte länger als 255 Zeichen sein können. Also Feld umdefiniert auf Memo und Inhalte aktualisiert.
Nun würde ich erwarten, daß die in der Tabelle enthaltenen langen Texte im Formular auch komplett angezeigt würden. Aber Pustekuchen! Die Memo-Einträge werden nach dem 255. Zeichen gekappt!
Ich muß noch ergänzen, daß das Feld in einem Unterformular über eine mit VBA erzeugte SQL-Abfrage gefüllt wird. Eine String-Variable ist dabei aber nicht im Spiel.
Habe das Feld auch schon aus dem Formular gelöscht und ein neues eingefügt - ohne Erfolg. Hat jemand eine Idee?

Georg
Win7 | Access2010
Somehow there must be a way

MzKlMu

Hallo,
die Abfrage ist schuld, zeige also bitte mal vollständig die Abfrage (SQL Text).
Gruß
Klaus

Schabbel

Wenn Du in ein Feld einen Text eingibst, der länger als 255 Zeichen ist,
kann er ja in einer Tabelle nicht vollständig abgespeichert werden, solange
das enstsprechende Tabellen-Feld ein Textfeld ist.
Änderst Du den Typ auf Memo, können nur die 255 abgespeicherten Zeichen
übernommen werden.
Der Rest wurde ja nie gespeichert.


Georg_L

Wo ist denn mein Beitrag? Ich hatte doch das SQL-Statement gepostet? Na gut, also nochmal.

Hallo MzKlMu,
die SQL-Abfrage sieht so aus:
SELECT DISTINCT stdID, stdStandard, stdTitle, stdDoE, stdapplied, stdRemark, rpsDirReg, stsDescription
FROM (T_Standard
    INNER JOIN Q_T_StdStatus_all
    ON T_Standard.stdStatus = Q_T_StdStatus_all.stsStatus)
        INNER JOIN T_RefPubStatus
        ON T_Standard.stdID = T_RefPubStatus.rpsstdIDRef
WHERE ((stsStatus Like "9")
    AND (stdapplied = true))
Die beiden Felder stdTitle und StdRemark sind in der Tabelle T_Standard als Memo-Felder definiert, werden im Formular-Textfeld aber bei 255 Zeichen abgeschnitten.
Habe heute noch ein bißchen mit ähnlichen Abfragen rumprobiert. Da hat es funktioniert. Ich habe keine Idee, woran es liegen könnte.

Georg
Win7 | Access2010
Somehow there must be a way


Georg_L

Win7 | Access2010
Somehow there must be a way

cuttingedge

Hallo
ich bin mir bewusst daß der Thread nun schon 8 Jahre alt ist - aber er poppt noch bei den ersten Suchergebnissen auf - vielleicht hift es immer noch jemandem.
Ich bin Access Neuling und hatte das selbe Problem. "Langer Text" und wird trotzdem im Formular nach 255 Zeichen abgeschnitten. (Netterweise kann man längeren Text zwar eintippen, der wird aber nicht gespeichert  >:( )
Meine Lösung war:
links im Reiter FORMULARE die Tabelle in Entwurfsansicht öffnen
betroffenes Formularfeld auswählen, rechter Mausklick, EIGENSCHAFTEN
dort im Reiter DATEN in die Zeile TEXTFORMAT.
Textformat Rich-Text anstatt Nur-Text wählen.
nun übernimmt es auch lange Texte.

MzKlMu

August 22, 2021, 18:48:07 #7 Letzte Bearbeitung: August 22, 2021, 19:00:24 von MzKlMu
Hallo,
das liegt nicht am Textformat Rich-Text, das hat damit nichts zu tun.
Es ist entweder die Abfrage (wie im Thema zu sehen) oder das Feld ist als "Kurzer Text" eingestellt. Dann sind nur 255 Zeichen möglich. In diesem Fall hilft die Umstellung auf "Langer Text" (früher Memo).

Die Einstellung Rich-Text ist ohnehin nur bei "Langer Text" möglich und da können bis zu 1 GB Text gespeichert werden. Aber die Einstellung Rich-Text ist dazu nicht erforderlich. Rich-Text erlaubt nur die Formatierung des Textes mit Steuerzeichen.
Gruß
Klaus