Jump to content

Nejčastější dotazy/Base/134

From The Document Foundation Wiki
< Faq | Base
This page is a translated version of the page Faq/Base/134 and the translation is 100% complete.

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

Poznámky: