Když chcete v Accessu sloučit hodnoty ze dvou nebo více textových polí, můžete vytvořit výraz, který používá operátor ampersand (&). Představte si, že máte třeba formulář s názvem Zaměstnanci. Jméno a příjmení každého z nich chcete zadat do samostatných polí, ale v záhlaví formuláře chcete zobrazit jejich celá jména (jméno i příjmení).
Pokud chcete zobrazit celé jméno, můžete použít tento výraz:
=[Jméno] & " " & [Příjmení]
Ve výrazu se pro sloučení hodnot v polích Jméno a Příjmení používá operátor &. Ve výrazu se používají také zdvojené uvozovky (") oddělené znakem mezery, díky kterým se mezi jméno a příjmení vloží mezera. Když chcete mezi dvě pole vložit třeba mezeru, interpunkční znaménko nebo text, musíte tuto hodnotu uzavřít do uvozovek.
V dalším příkladu můžete pomocí následujícího výrazu zobrazit příjmení a jméno oddělené čárkou a mezerou:
=[Příjmení] & ", " & [Jméno]
V tomto případě výraz vloží mezi pole Příjmení a Jméno čárku a mezeru, které jsou uzavřené do uvozovek.
V rámci kroků, které najdete v následujícím postupu, se předpokládá, že máte formulář vycházející z tabulky, která obsahuje pole s názvem Jméno a Příjmení. Pokud ho nemáte, v kroku 6 můžete výraz upravit tak, abyste ho mohli použít pro svá data.
Přidání textového pole s výrazem pro zobrazení celého jména
-
V navigačním podokně klikněte pravým tlačítkem myši na formulář nebo sestavu, které chcete změnit, a v místní nabídce klikněte na příkaz Návrhové zobrazení.
-
Na kartě Návrh klikněte ve skupině Ovládací prvky na položku Textové pole.
-
Přetáhněte ukazatel na formulář nebo sestavu. Tím vytvoříte požadované textové pole.
-
Klikněte pravým tlačítkem na textové pole a pak v místní nabídce klikněte na Vlastnosti.
-
V Seznamu vlastností klikněte na kartu Datové.
-
V poli vlastností Zdroj ovládacího prvku změňte hodnoty na =[Jméno] & " " & [Příjmení].
-
Seznam vlastností zavřete a uložte provedené změny.
Někdy se stane, že jedno z polí, které chcete sloučit, neobsahuje žádnou hodnotu. Tento chybějícím datům se říká hodnota null. Když v poli bez hodnoty použijete operátor &, Access pro něj vrátí Řetězec nulové délky. Pokud záznamy zaměstnance obsahují pouze jeho příjmení, výraz v předchozím příkladu vrátí pro pole Jméno řetězec nulové délky, znak mezery a hodnotu z pole Příjmení.
1. Protože v poli Jméno nejsou žádná data, před příjmení „Stoklasa“ se umístí řetězec nulové délky a mezera.
Při slučování hodnot z několika polí do nového řetězce můžete chtít zahrnout do nového řetězce určitou hodnotu (třeba čárku) jen v případě, že konkrétní pole obsahuje data. Pokud chcete do řetězce podmíněně zahrnout hodnotu, místo operátoru & použijte pro sloučení polí operátor +. Předpokládejme například, že máte tabulku s názvem Zákazník, která obsahuje jen pole Město, Stát a PSČ. Hodnoty v těchto polích chcete sloučit a použít v sestavě, ale u některých záznamů nejsou v poli Stát uvedena žádná data. Pokud v takové situaci sloučíte pole pomocí operátoru &, před hodnotou PSČ se objeví nežádoucí čárka.
Abyste tomu předešli, můžete místo toho použít operátor plus (+), jak to vidíte v následujícím vzorovém výrazu:
=([Město] & (", " + [Stát]) & " " & [PSČ])
Operátor + umí sloučit text stejným způsobem jako operátor &. Operátor + ale také podporuje takzvané šíření hodnoty null. Šíření hodnoty null zajišťuje, že pokud má kterákoli součást výrazu hodnotu null, výsledek celého výrazu je také null. Podívejte se v předchozím příkladu na výraz (", " + [Stát]). Protože se v něm používá operátor +, výraz obsažený uvnitř uvozovek vrátí čárku jen v případě, že pole Stát obsahuje nějakou hodnotu. Když v poli Stát nejsou data, uplatní se šíření hodnoty null a výraz uvnitř uvozovek vrátí hodnotu null, takže čárku „skryje“.
1. V záznamech, které obsahují údaje o státu, se zobrazuje čárka, mezera a zkratka daného státu.
2. Pokud záznam, který má v poli Město uvedený Houston, neobsahuje v poli Stát žádná data, výsledek výrazu se zobrazí bez čárky, mezery a zkratky státu.