Nejčastější dotazy/Base/134
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Jak mohu naformátovat pole jako velká/malá písmena?
Takto lze nastavit, aby v poli "Jméno" byla všechna písmena velká a pouze první písmeno pole "Jméno" bylo velké.
Existují dvě různá řešení: použití maskovaného pole nebo makra.
Bez ohledu na zvolené řešení je vhodné definovat příslušná pole v tabulce s daty ve formátu "Text [VARCHAR_IGNORECASE]". Vyhledávání nebo výběry z dotazů budou jednodušší, protože nebudou rozlišovat malá a velká písmena.
Použití masky pole
Ve vstupním formuláři vyberte ovládací prvek "Maskované pole". Tento ovládací prvek je vstupní pole, které má dvě konkrétní vlastnosti důležité pro tuto úlohu.
Vstupní maska | Vložte kódy znaků, nikoli údaje, které se mají zadat: jeden kód = jeden znak.[1]
Kódy určují, co bude pole na dané pozici akceptovat. |
Ověření pole | Ano: Akceptovány budou pouze znaky uvedené jako platné.
Ne: Neplatné znaky budou při opuštění pole odstraněny. |
Chcete-li pole "Název" automaticky převést na velká písmena, použijte kód "X":
- Povoleny jsou všechny znaky (není to omezeno na písmena, protože je možné zadat pomlčky nebo apostrofy).
- Automatický převod z malých písmen na velká písmena
- Povolený počet znaků je označen počtem znaků X.
- Ověření pole: Ano
Chcete-li v poli "Jméno" napsat pouze první písmeno, použijte kód "A" následovaný znakem "x":
- Kód "A" umožňuje zadávat pouze velká písmena A-Z (pomlčky a apostrofy nejsou na začátku jména povoleny): pokud je zadáno malé písmeno, je automaticky převedeno na velké.
- Pomocí "x" jsou povoleny všechny znaky.
Použití makra
K události "Před aktualizací" textových polí je možné přiřadit makro. Tato událost se spustí před zápisem obsahu změněného ovládacího prvku do databáze.
Vše, co bylo zadáno, můžeme změnit pomocí převodu velkých a malých písmen.
Níže je uveden kód dvou procedur v jazyce Python "PysCapitaliseAll" a "PysCapitaliseOne", které jsou spojeny se vstupními poli "Name" a "Firstname".
Procedury přebírají jako parametr obsah daného ovládacího prvku. Mění text obsažený v textovém poli.
- PysCapitaliseAll změní vše na velká písmena.
- PysCapitaliseOne změní na velká písmena pouze první znak.
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 Stáhněte si příklad databáze
Poznámky:
- ↑ Kódy formátů https://help.libreoffice.org/latest/en-US/text/sbasic/shared/01170101.html#hd_id3155379 Tabulka kódů formátů