Ř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é pracují s textem různými způsoby. Ve formuláři můžete například chtít zobrazit jenom část sériového čísla. Nebo můžete potřebovat spojit (zřetězit) několik řetězců dohromady, například příjmení a křestní jméno. Pokud ještě nejste s výrazy zběhlí, přečtěte si článek Tvorba výrazu.

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

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

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

V Accessu je mnoho dalších funkcí, které souvisejí s textem. Další informace o nich získáte otevřením Tvůrce výrazů a procházením seznamů funkcí. Tvůrce výrazů je dostupný prakticky všude, kde chcete vytvářet výrazy – obvykle je tam malé tlačítko Vytvořit , které vypadá takto: Obrázek tlačítka

Tvůrce výrazů si ukážeme, když ho otevřeme z vlastnosti Zdroj ovládacího prvku ve formuláři nebo zobrazení. Použijte jeden z níže uvedených postupů podle toho, 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 není otevřené).

  3. Pokud již máte formulář k dispozici, klikněte na něj pravým tlačítkem myši v navigačním podokně a poté klikněte na příkaz 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 myši na textové pole ve formuláři a klikněte na příkaz Vlastnosti.

  5. V seznamu vlastností klikněte na položku Všechny>zdroj ovládacího prvku a klikněte na obrázek tlačítkatlačítka Vytvořit 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 možnost Text.

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

    Poznámka

    Ne všechny tyto funkce jsou dostupné ve všech kontextech; Access seznam filtruje automaticky podle toho, které z nich fungují v daném kontextu.

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

Některé řetězcové funkce obsahují číselné argumenty, které je v některých případech potřeba vypočítat při každém volání funkce. Funkce Left například přebírá řetězec a číslo, například =Left(SerialNumber, 2). To je skvělé, když víte, že vždycky potřebujete zbývající dva znaky, ale co když se počet potřebných znaků liší položku od položky? Místo "pevného zakódování" počtu znaků můžete zadat jinou funkci, která počet znaků vypočítá.

Tady je příklad sériových čísel, z nichž každé má někde v řetězci pomlčku. Umístění 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, budete muset pokaždé provést výpočet, abyste zjistili, kde se spojovník nachází. Jednou z možností je udělat něco takového:

=Left([PořadovéČíslo],InStr(1,[SériovéČíslo],"-")-1)

Místo zadání čísla jako druhého argumentu funkce Left jsme zapojili funkci InStr, která vrátí pozici spojovníku v sériovém čísle. Odečtete od této hodnoty 1 a dostanete správný počet znaků, které funkce ZLEVA vrátí. Ze začátku se to zdá trochu složité, ale s trochou experimentování můžete zkombinovat dva nebo více výrazů a získat požadované výsledky.