Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Hallo Jochen,

1) Eintrag in das Feld der Tabelle ohne rechts stehenden Leerzeichen
oder
Standardmäßig ist das so.

Was ist standardmäßig so: Eintrag der Leerzeichen?

Standardmäßig werden keine Leerzeichen produziert.

Die Leerzeichen produzierst Du selbst

Wann bzw. bei welchem Schritt produziere ich die Leerzeichen?

Eigentlich geht das nur, wenn DU [CHAR] gewählt hast. Der Datentyp füllt
gegebenenfalls die Felder mit Leerzeichen auf, wenn nicht genug Zeichen
drin sind.
Ansonsten kann das nur über
- eingelesene Werte mit Leerzeichen oder
- Betätigung der Leertaste
kommen. Alle andere wäre ein fehlerhaftes Programm.

es sei denn, dass das Feld nicht VARCHaR sondern CHAR ist.

Meinst Du den Feldtyp "Text (fix) [CHAR]"?

Ja, genau der erzeugt gegebenenfalls Leerzeichen, wenn nicht genug
eingetragen ist.

Ich habe dies auch schon getestet - allerdings als nachträglichen
Eintrag. Dies hat nicht die Leerzeichen entfernt.
Möglicherweise habe ich nicht konsequent genug getestet.
Frage1 : kann ich den Feldtyp nachträglich ändern?
Frage2: sollten dann bei einem Neueintrag die Leerzeichen weg sein?

Wenn Du diesen Typ erst einmal gewählt hast, dann hast Du die
Leerzeichen drin. Gehst Du zurück nach [VARCHAR], so bleiben die
Leerzeichen drin.
Auf keinen Fall also auf CHAR ändern. Das bekommst Du nur mühsam
händisch raus oder über einen entsprechenden Update-Befehl.
Ins Unreine formuliert:
UPDATE TABLE "Tabellenname" SET "Feldname" = RTRIM("Feldname")
... wobei mit RTRIM die Lerrzeichen rechts vom Feldinhalt beseitigt werden.

2) Makro, das die Felder einer Tabelle von den rechts stehenden
Leerzeichen befreit oder
Wenn Du das Feld ausliest kannst Du über Trim(Text) den Text von allen
Leerzeichen vor und hinter dem Text befreien.

Auch die TRIM-Funktion bin ich auch schon gestoßen. Soll ich dies in die
Abfrage einbauen?

Nein, nicht in die Abfrage. Da habe ich an das Makro gedacht, das Du
angesprochen hast. TRIM(Text) gehört in die Basic-Makros.
TRIM(BOTH FROM "Tabellenfeld") wäre die Umsetzung in der HSQLDB.
Ansonsten gehts auch mit LTRIM(RTRIM("Tabellenfeld")) - SQL-Funktion.

Dann habe ich noch eine Frage
dummerweise werden in das Feld zwei oder drei Texte eingebaut (Beispiel:
"VW AG" oder "The document foundation").
Frage: greift da auch die o.g. Problemlösung?

Meinst Du jetzt die Leerzeichen am Ende? Die werden so entfernt.
Leerzeichen im Text selbst verschwinden somit natürlich nicht.

Gruß

Robert

-- 
Informationen zum Abmelden: E-Mail an users+help@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.