Pomocí řetězcových funkcí můžete v Accessu vytvářet výrazy, které různými způsoby manipulují s textem. Ve formuláři můžete například zobrazit jenom část sériového čísla. Nebo budete muset spojit (zřetězit) několik řetězců dohromady, například příjmení a jméno. Pokud se vám výrazy zatím nehodí, podívejte se na stránku Vytvoření výrazu.
Tady je seznam některých běžných řetězcových operací v Accessu a funkcí, které byste k jejich provedení použít:
Požadovaná akce |
Použijte |
Příklad: |
Výsledky: |
Vrácení znaků od začátku řetězce |
=Left([Sériové číslo];2) |
Pokud je [Pořadové číslo] CD234, výsledek bude CD. |
|
Vrácení znaků od konce řetězce |
=Right([Sériové číslo];3) |
Pokud je [Pořadové číslo] CD234, výsledkem je 234. |
|
Nalezení pozice znaku v řetězci |
=InStr(1;[Jméno];"i") |
Pokud je [Jméno] "Colin", výsledek je 4. |
|
Vrácení znaků ze středu řetězce |
=Mid([Sériové číslo];2;2) |
Pokud je [Pořadové číslo] CD234, výsledkem je D2. |
|
Oříznutí úvodních a koncových mezer z řetězce |
=Trim([FirstName]) |
Pokud je [Jméno] " Colin ", výsledek je "Colin". |
|
Spojení dvou řetězců |
Operátor znaménka plus (+) * |
=[Jméno] + [Příjmení] |
Pokud je [Jméno] "Colin" a [Příjmení] Wilcox, výsledek je "ColinPtocox" |
Spojení dvou řetězců s mezerou mezi nimi |
Operátor znaménka plus (+) * |
=[Jméno] + " " + [Příjmení] |
Pokud je [Jméno] "Colin" a [Příjmení] Wilcox, výsledek je "Colin Wilcox" |
Změna velká a malá písmena v řetězci |
Funkce UCase nebo LCase |
=UCase([Jméno]) |
Pokud je [Jméno] "Colin", výsledkem je "COLIN". |
Určení délky řetězce |
=Len([Jméno]) |
Pokud je [Jméno] "Colin", výsledkem je 5. |
* Dobře, takže to není funkce, je to operátor. Je to ale nejrychlejší způsob spojení řetězců. V desktopové databázi můžete ke zřetězení použít také operátor ampersand (&). V aplikaci pro Access musíte použít znaménko plus (+).
V Accessu je k dispozici 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 dostupný skoro kdekoliv, kde chcete vytvořit výraz – obvykle je tu malé tlačítko Tvůrce výrazů, které vypadá takhle:
Pokud chcete předvést Tvůrce výrazů, otevřete ho ve formuláři nebo zobrazení pomocí vlastnosti Zdroj ovládacího prvku. Použijte jeden z níže uvedených postupů podle toho, jestli používáte desktopovou databázi nebo accessovou webovou aplikaci.
Zobrazení Tvůrce výrazů v desktopové databázi
-
Otevřete desktopové databáze (.accdb).
-
Stisknutím klávesy F11 otevřete navigační podokno (pokud není otevřené).
-
Pokud už máte formulář k dispozici, klikněte na něj v navigačním podokně pravým tlačítkem myši a potom klikněte na Zobrazení rozložení. Pokud formulář pro práci nemáte, klikněte na Vytvořit > Formuláře.
-
Pravým tlačítkem myši klikněte na textové pole ve formuláři a potom klikněte na Vlastnosti.
-
V seznamu vlastností klikněte na všechny > ovládacího prvku a potom klikněte na tlačítko
na pravé straně pole vlastnosti Zdroj ovládacího prvku.
-
V části Prvky výrazurozbalte uzel Funkce a klikněte na Předdefinové funkce.
-
V části Kategorie výrazůklikněte na Text.
-
V části Hodnotyvýrazu 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 podle toho, které z nich fungují v každém kontextu.
Zobrazení Tvůrce výrazů ve webové aplikaci pro Access
-
Otevřete webovou aplikaci pro Access. Pokud si prohlížíte zobrazení v prohlížeči, klikněte na Nastavení a > v Accessu.
-
Klikněte na tabulku v levém sloupci a potom vpravo od seznamu tabulek, klikněte na název zobrazení.
-
Klikněte naUpravit, klikněte na textové pole a pak klikněte na tlačítko Data, které se zobrazí vedle textového pole.
-
Klikněte na tlačítko
napravo od rozevíracího seznamu Zdroj ovládacího prvku.
-
V části Prvky výrazurozbalte uzel Funkce a klikněte na Předdefinové funkce.
-
V části Kategorie výrazůklikněte na Text.
-
V části Hodnotyvýrazu klikněte na různé funkce a přečtěte si krátké popisy v dolní části Tvůrce výrazů.
Kombinování textových funkcí pro větší flexibilitu
Některé řetězcové funkce mají číselné argumenty, které je v některých případech nutné vypočítat při každém volání funkce. Například funkce Left přebírá řetězec a číslo, jako ve =Left(SerialNumber, 2). To je skvělé, pokud víte, že vždycky potřebujete dva levé znaky, ale co když se počet znaků, které potřebujete, liší od položky k položce? Místo "pevného kódování" počtu znaků můžete zadat jinou funkci, která se bude počítat.
Tady je příklad pořadových čísel, kde každý z nich má v řetězci spojovník. Umístění spojovníku se však 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 se spojovník nachází. Jednou z možností je udělat něco jako toto:
=Left([Sériové číslo];InStr(1;[Sériové číslo];"-")-1)
Místo zadání čísla jako druhého argumentu funkce Left jsme připojili funkci InStr,která vrací 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ů, které funkce Left vrátí. Zdá se, že je ze všeho trochu komplikované, ale s trochou experimentování můžete zkombinovat dva nebo více výrazů a získat tak výsledky, které chcete.
Další informace o používání řetězcových funkcí najdete v tématu Použití řetězcových funkcí v dotazech SQL v Accessu.