Funkce Format

Vrátí hodnotu typu Variant (String) obsahující Výraz formátovaný podle pokynů obsažených ve výrazu pro formátování.

Zde naleznete několik příkladů

Syntaxe

Format(výraz [, formát ] [, první_den_v_týdnu ] [, první_týden_v_roce ] )

Syntaxe funkce Format zahrnuje následující argumenty:

Argument

Popis

výraz

Povinný argument. Libovolný platný výraz.

formát

Nepovinný argument. Platný pojmenovaný nebo uživatelem definovaný výraz pro formátování.

první_den_v_týdnu

Nepovinný argument. Konstanta určující první den v týdnu.

první_týden_v_roce

Nepovinný argument. Konstanta určující první týden v roce.


Nastavení

Argumentformát může v závislosti na datovém typu argumentu výraz používat různá nastavení. Více informací o platných výrazech pro formátování naleznete v článcích uvedených v následující tabulce.

Výrazy používající tento datový typ...

Naleznete v článku

Všechny typy

Vlastnost Formát

Datum a čas

Vlastnost Formát - Typ dat Datum a čas

Číslo

Vlastnost Formát - Typy dat Číslo a Měna

Text a memo

Vlastnost Formát - Typy dat Text a Memo

Ano/Ne

Vlastnost Formát - Typ dat Ano/ne


Nastavení argumentu první_den_v_týdnu:

Konstanta

Hodnota

Popis

vbUseSystem

0

Je použito nastavení rozhraní API podpory národního jazykového prostředí.

VbSunday

1

Neděle (výchozí hodnota)

vbMonday

2

Pondělí

vbTuesday

3

Úterý

vbWednesday

4

Středa

vbThursday

5

Čtvrtek

vbFriday

6

Pátek

vbSaturday

7

Sobota


Nastavení argumentu první_týden_v_roce:

Konstanta

Hodnota

Popis

vbUseSystem

0

Je použito nastavení rozhraní API podpory národního jazykového prostředí.

vbFirstJan1

1

Rok začíná týdnem, do kterého spadá datum 1. ledna (výchozí hodnota).

vbFirstFourDays

2

Rok začíná prvním týdnem, do kterého spadají minimálně čtyři dny daného roku.

vbFirstFullWeek

3

Rok začíná prvním úplným týdnem v daném roce.


Poznámky

Formátovaná položka

Akce

Čísla

Použijte předdefinované pojmenované číselné formáty nebo vytvořte číselné formáty definované uživatelem.

Kalendářní data a časové údaje

Použijte předdefinované pojmenované formáty data a času nebo použijte formáty data a času definované uživatelem.

Pořadová čísla kalendářních dat a časových údajů

Použijte formáty data a času nebo číselné formáty.

Řetězce

Vytvořte vlastní formáty řetězce definované uživatelem.


Pokud se pokusíte formátovat určité číslo, aniž byste zadali argument formát, bude činnost funkce Format podobná činnosti funkce Str (přestože zohledňuje různá národní prostředí). Kladná čísla formátovaná pomocí funkce Format jako řetězce však nebudou na první pozici obsahovat mezeru vyhrazenou pro znaménko hodnoty. U stejných čísel převedených pomocí funkce Str bude mezera na první pozici zachována.

Při formátování nelokalizovaných číselných řetězců byste měli použít číselný formát definovaný uživatelem, abyste dosáhli požadovaného vzhledu.

Poznámka : Pokud je u vlastnosti Kalendář nastavena možnost Gregoriánský a argumentem formát je určeno formátování data, je nutné, aby zadaný argument výraz odpovídal gregoriánskému kalendáři. Jestliže je vlastnost Calendar (Kalendář) jazyka Visual Basic nastavena na možnost Hijri (Hidžra), je třeba, aby zadaný argument výraz odpovídal kalendáři hidžra.

Pokud je použit gregoriánský kalendář, zůstává význam symbolů výrazu pro formátování nezměněný. Při použití kalendáře hidžra bude význam všech symbolů formátu data (například dddd, mmmm, yyyy) stejný, ale bude použit u kalendáře hidžra. Symboly formátování zůstávají uvedeny v angličtině. Symboly, jejichž výsledkem je zobrazení textu (například AM (dop.) a pm (odp.)), zobrazí řetězec (anglický nebo arabský) přidružený k danému symbolu. Při použití kalendáře hidžra se rozsahy pro určité symboly mění.

Symbol

Rozsah

d

1-30

dd

1-30

ww

1-51

mmm

Zobrazí celé názvy měsíců (k názvům měsíců kalendáře hidžra neexistují zkratky).

y

1-355

yyyy

100-9 666

Příklady

Použití funkce Formát ve výrazu    Funkci Formát lze použít vždy, když lze použít výrazy. Můžete ji například použít v dotazu jako součást aliasu pole, nebo ve vlastnosti Zdroj ovládacího prvku textového pole ve formuláři nebo sestavě. Následující příklad ukazuje výraz, který můžete použít ve vlastnosti Filtr sestavy a omezit tak výstup pouze na záznamy z minulého týdne.

Format([Date],"ww")=Format(Now(),"ww")-1

V uvedeném příkladu obsahuje zdroj záznamu sestavy pole s názvem Date, obsahující datum změny konkrétního záznamu. Toto datum je použito na sestavě. Po spuštění sestavy budou zobrazeny pouze ty záznamy, u nichž hodnota pole Date (Format([Date],"ww")) je rovna minulému týdnu (Format(Now(),"ww")-1).

Použití funkce Format v kódu jazyka VBA    

Poznámka : Následující příklady uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že kliknete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.

V tomto příkladu jsou ukázány různé možnosti použití funkce Format při formátování hodnot pomocí pojmenovaných a uživatelem definovaných formátů. U oddělovače data (.), oddělovače času (:) a textu dop./odp. závisí skutečný formátovaný výstup zobrazený systémem na nastavení národního prostředí, při kterém je kód spuštěn. Pokud jsou data a časy zobrazeny ve vývojovém prostředí, je použit krátký formát času a krátký formát data národního prostředí kódu. Při zobrazení kódem spuštění je použit krátký formát času a krátký formát data národního prostředí systému, které se může lišit od národního prostředí kódu. V tomto příkladu se předpokládá, že je použito národní prostředí Angličtina (USA).

Proměnné MyTime a MyDate jsou zobrazeny ve vývojovém prostředí pomocí aktuálního systémového nastavení krátkého času a data.

Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#
' Returns current system time in the system-defined long time format.
MyStr = Format(Time, "Long Time")
' Returns current system date in the system-defined long date format.
MyStr = Format(Date, "Long Date")
MyStr = Format(MyTime, "h:m:s") ' Returns "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Returns "05:04:23 PM".
MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Returns "Wednesday,
' Jan 27 1993".
' If format is not supplied, a string is returned.
MyStr = Format(23) ' Returns "23".
' User-defined formats.
MyStr = Format(5459.4, "##,##0.00") ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00") ' Returns "334.90".
MyStr = Format(5, "0.00%") ' Returns "500.00%".
MyStr = Format("HELLO", "<") ' Returns "hello".
MyStr = Format("This is it", ">") ' Returns "THIS IS IT".


Použití funkce Format u řetězců nulové délky

V aplikaci Microsoft Access verze 2.0 a starší lze pomocí funkce Format vrátit jednu hodnotu pro Řetězec nulové délky a jinou pro určitou hodnotu. Použijete-li ve funkci Format například následující výraz pro formátování, bude vrácena příslušná řetězcová hodnota z kódu:

Dim varX As Variant
Dim varStrX As Variant
' Assign some value to varStrX and pass to Format function.
varX = Format(varStrX, "@;ZLS;Null")

V aplikaci Microsoft Access verze 97 nebo vyšší je nutné samostatně provést test pro případ hodnoty Null a potom na základě výsledku vrátit příslušnou hodnotu. Ve výrazu s funkcí Format můžete například použít funkci IIf následujícím způsobem:

varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))

Tato změna platí pouze v případě, že pomocí funkce Format formátujete řetězec v závislosti na tom, zda se jedná o řetězec nulové délky nebo o hodnotu Null. Jiné výrazy pro formátování použité ve funkci Format budou pracovat stejně jako v předchozích verzích.

Jestliže převádíte databázi z aplikace Microsoft Access verze 2.0 do aplikace Microsoft Access 2002 nebo vyšší, bude třeba změnit kód tak, aby byl samostatně proveden test pro případ hodnoty Null.

Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×