Řetězcové funkce a jejich použití

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Pomocí řetězcových funkcí můžete v Accessu vytvářet výrazy, které manipulují s textem různými způsoby. Můžete například chtít zobrazit ve formuláři jenom část sériového čísla. Nebo možná budete muset spojit (zřetězit) několik řetězců, jako je příjmení a křestní jméno. Pokud ještě nemáte přehled o výrazech, přečtěte si téma Vytvoření výrazu.

Tady je seznam některých běžných operací s řetězci v Accessu a funkcí, které byste k jejich provedení použili:

Požadovaná akce Použijte... Například... Výsledky
Vrácení znaků od začátku řetězce Levá funkce =Left([Sériové číslo],2) Pokud [SerialNumber] je "CD234", výsledkem je "CD".
Vrácení znaků z konce řetězce Pravá funkce =Right([SerialNumber;3) Pokud [SerialNumber] je "CD234", výsledek je "234".
Vyhledání pozice znaku v řetězci InStr =InStr(1;[Jméno],"i") Pokud [FirstName] je "Colin", výsledek je 4.
Vrácení znaků ze středu řetězce Funkce Mid =Mid([Sériové číslo];2;2) Pokud [SerialNumber] je "CD234", výsledek je "D2".
Oříznutí úvodních nebo koncových mezer z řetězce Funkce LTrim, RTrim a Trim =Trim([FirstName]) Pokud [FirstName] je " Colin ", výsledek je "Colin".
Spojení dvou řetězců Operátor znaménka plus (+) =[Jméno] + [Příjmení] Pokud [FirstName] je "Colin" a [LastName] je Wilcox, výsledek je "ColinWilcox"
Spojení dvou řetězců s mezerou mezi nimi Operátor znaménka plus (+) =[Jméno] + " " + [Příjmení] Pokud [FirstName] je "Colin" a [LastName] je Wilcox, výsledek je "Colin Wilcox".
Změna velkých a malých písmen řetězce na velká nebo malá písmena Funkce UCase nebo LCase =UCase([Jméno]) Pokud [FirstName] je "Colin", výsledek je "COLIN".
Určení délky řetězce Funkce Len =Len([Jméno]) Pokud je [FirstName] "Colin", výsledek je 5.

* Dobře, takže to není funkce, je to operátor. Je to ale nejrychlejší způsob, jak spojit řetězce dohromady. V desktopové databázi můžete k zřetězení použít také operátor ampersand (&).

V Accessu je mnoho dalších funkcí souvisejících s textem. Dobrým způsobem, jak se o nich dozvědět víc, je otevřít Tvůrce výrazů a procházet seznamy funkcí. Tvůrce výrazů je k dispozici téměř všude, kde chcete vytvořit výraz – obvykle existuje malé tlačítko Sestavit , které vypadá takto: Obrázek tlačítka

Chcete-li předvést Tvůrce výrazů, otevřete ho z vlastnosti Zdroj ovládacího prvku ve formuláři nebo zobrazení. Použijte jeden z následujících postupů v závislosti na tom, jestli používáte desktopovou databázi nebo webovou aplikaci pro Access.

Zobrazení Tvůrce výrazů v desktopové databázi

  1. Otevřete desktopovou databázi (.accdb).

  2. Stisknutím klávesy F11 otevřete navigační podokno, pokud ještě není otevřené.

  3. Pokud už máte formulář k dispozici, klikněte na něj v navigačním podokně pravým tlačítkem a klikněte na Zobrazení rozložení. Pokud nemáte formulář, se kterým byste mohli pracovat, klikněte na Vytvořit>formulář.

  4. Klikněte pravým tlačítkem na textové pole ve formuláři a klikněte na Vlastnosti.

  5. V seznamu vlastností klikněte na Všechny>zdroje ovládacích prvků a klikněte na obrázek tlačítkaSestavit tlačítko na pravé straně pole vlastnosti Zdroj ovládacího prvku.

    Tlačítko Sestavit v seznamu vlastností.

  6. V části Prvky výrazu rozbalte uzel Funkce a klikněte na Předdefinované funkce.

  7. V části Kategorie výrazů klikněte na Text.

  8. V části Hodnoty výrazů klikněte na různé funkce a přečtěte si krátké popisy v dolní části Tvůrce výrazů.

    Poznámka

    Ne všechny tyto funkce jsou dostupné ve všech kontextech. Access filtruje seznam automaticky v závislosti na tom, které z nich v každém kontextu fungují.

Kombinování textových funkcí pro větší flexibilitu

Některé řetězcové funkce mají číselné argumenty, které v některých případech potřebujete vypočítat při každém volání funkce. Funkce Left například přebírá řetězec a číslo, jako v =Left(SerialNumber; 2). To je skvělé, pokud víte, že vždy potřebujete levé dva znaky, ale co když se počet znaků, které potřebujete, liší u položky k položce? Místo pouhého "pevného kódování" počtu znaků můžete zadat jinou funkci, která ho vypočítá.

Tady je příklad sériových čísel, která mají spojovník někde v řetězci. Pozice spojovníku se ale liší:

Sériové číslo
3928-29993
23-9923
333-53234
3399940-444

Pokud chcete zobrazit jenom čísla nalevo od spojovníku, musíte pokaždé provést výpočet, abyste zjistili, kde je spojovník. Jednou z možností je udělat něco takového:

=Left([Sériové číslo],InStr(1;[Sériové číslo],"-")-1)

Místo zadávání čísla jako druhého argumentu funkce Left jsme připojili funkci InStr, která vrátí pozici spojovníku v sériovém čísle. Odečtěte od této hodnoty hodnotu 1 a získáte správný počet znaků pro funkci Left, která se má vrátit. Zpočátku to vypadá trochu komplikovaně, ale s trochou experimentování můžete zkombinovat dva nebo více výrazů, abyste získali požadované výsledky.