Frequently asked questions - Base
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Spende
Wie kann ich ein Feld für Groß- bzw. Kleinschreibung formatieren?
In diesem Beispiel soll die Eingabe in das Feld "Name" ganz mit Großbuchstaben und in das Feld "Vorname" mit nur dem ersten Buchstaben als Großbuchstaben erfolgen.
Es gibt zwei verschiedene Lösungen, die die korrekte Eingabe in die Felder ermöglichen.
Zunächst kann es sinnvoll sein, die relevanten Felder der Tabelle auf den Feldtypen "Text [VARCHAR_IGNORECASE]" einzustellen. Bei Suchanfragen an diese Felder wird dann nicht mehr zwischen Groß- und Kleinschreibung unterschieden.
Verwenden eines maskierten Feldes
Wählen Sie im Einstiegsformular das Maskiertes Feld. Unter Maskiertes Feld > Eigenschaften > Allegmein > Eingabemaske können die Codes vorbestimmt werden, die letztlich eingegeben werden dürfen.
Entry mask | Put the character codes, not the data to be entered: one code = one character[1]
The codes determine what the field will accept at that position. |
Field validation | Yes: Only the characters specified as valid will be accepted No: Invalid characters will be removed on leaving the field |
To convert the field "Name" to uppercase automatically use the code "X":
- All characters are allowed (this is not limited to letters because it is possible to enter hyphens or apostrophes
- Automatic conversion from lowercase to uppercase
- The permitted number of characters is indicated by the number of the X characters
- Field validation: Yes
To capitalise just the first letter of the field "Firstname", use the code "A" followed by "x":
- The code "A" allows only the capital letters A-Z to be entered (hyphens and apostrophes aren't allowed at the beginning of a name): if a lowercase letter is entered it is automatically converted to uppercase.
- With "x" all characters are allowed.
Verwendung eines Makros
Es ist möglich, ein Makro mit dem Ereignis Bei Fokusverlust von Textfeldern zu verknüpfen. Sobald der Cursor das Feld verlässt wird das Makro ausgelöst.
We can change everything that has been entered with the uppercase/lowercase conversion.
Below is the code for two Python procedures "PysCapitaliseAll" and "PysCapitaliseOne" which are associated with the entry fields "Name" and "Firstname" respectively.
The procedures take as a parameter the contents of the control in question. They change the text contained in the text field.
- PysCapitaliseAll changes everything to uppercase.
- PysCapitaliseOne changes only the first character to uppercase.
option explicit
sub PysCapitaliseOne(PysEvent)
PysEvent.Source.text = Ucase(left(PysEvent.Source.text, 1)) & Lcase(mid(PysEvent.Source.text, 2))
end sub
sub PysCapitaliseAll(PysEvent)
PysEvent.Source.text = Ucase(PysEvent.Source.text)
end sub
- File:FR.FAQ BASE 134 Capitaliser.odb Beispieldatenbank
Notes
- ↑ Format codes https://help.libreoffice.org/latest/en-US/text/sbasic/shared/01170101.html#hd_id3155379 Table of format codes