Funkce Format

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

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

Upozornění Při použití této funkce došlo k problému. Poslední pondělí v některých kalendářních letech může být vráceno jako týden 53, i když by to měl být týden 1. Další informace a řešení najdete v tématu Formát nebo Funkce DatePart můžou vrátit nesprávné číslo týdne pro poslední pondělí v roce.

Tady je několik příkladů

Syntaxe

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

Syntaxe funkce Format obsahuje tyto 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, která určuje první den v týdnu.
první_týden_v_roce Nepovinný argument. Konstanta, která určuje první týden v roce.

    

Nastavení

Argument formát může používat různá nastavení v závislosti na datovém typu argumentu výrazu. Další informace o platných výrazech formátů naleznete v článcích uvedených v následující tabulce.

Výrazy, které používají tento datový typ: Viz článek
Libovolný typ Vlastnost Format (Formát)
Datum a čas Formátování pole data a času
Číslo Formátování pole Číslo nebo Měna
Text a poznámka Formátování textového pole
Ano/Ne Vlastnost Formát - Typ dat Ano/ne

    

Argument první_den_v_týdnu má následující nastavení:

Konstanta Hodnota Popis
vbUseSystem 0 Použijte nastavení rozhraní API NLS.
VbSunday 1 Neděle (výchozí)
vbMonday 2 Pondělí
vbTuesday 3 Úterý
vbWednesday 4 Středa
vbčtvrtek 5 Čtvrtek
vbFriday 6 Pátek
vbsobota 7 Sobota

    

Argument první_týden_v_roce má následující nastavení:

Konstanta Hodnota Popis
vbUseSystem 0 Použijte nastavení rozhraní API NLS.
vbFirstJan1 1 Začátek týdnem, do kterého spadá datum 1. ledna (výchozí).
vbFirstFourDays 2 Začněte prvním týdnem, který má v roce alespoň čtyři dny.
vbFirstFullWeek 3 Začněte prvním celým týdnem roku.

    

Poznámky

Formátovat Postup
Číslice Použijte předdefinované pojmenované číselné formáty nebo vytvořte uživatelem definované číselné formáty.
Kalendářní data a časy Použijte předdefinované pojmenované formáty data a času nebo vytvořte formáty data a času definované uživatelem.
Pořadová čísla data a času Používejte formáty data a času nebo číselné formáty.
Řetězce Vytvořte si vlastní formáty řetězců definované uživatelem.

    

Pokud se pokusíte formátovat číslo bez zadání formátu, bude funkce Formát poskytovat podobné funkce Str , i když je mezinárodně uznávaná. Kladná čísla formátovaná jako řetězce používající Format však neobsahují úvodní mezeru vyhrazenou pro znaménko hodnoty; Převody pomocí klávesy Str si ponechají úvodní mezeru.

Pokud formátujete nelokalizovaný číselný řetězec, měli byste pro dosažení požadovaného vzhledu použít číselný formát definovaný uživatelem.

Poznámka

Pokud je vlastnost Calendar nastavená gregoriánského kalendáře a formát určuje formátování data, musí být zadaný výraz gregoriánského kalendáře. Pokud je vlastnost Visual Basic Calendar nastavena jako kalendář Hidžra, musí být zadaný výraz Hidžra.

Pokud se jedná o kalendář gregoriánského kalendáře, význam symbolů formátovacích výrazů se nezmění. Pokud má kalendář kalendář hidžra, mají všechny symboly formátu data (například dddd, mmmm, rrrr) stejný význam, ale platí pro kalendář hidžra. Formátovací symboly zůstávají v angličtině; Symboly, jejichž výsledkem je zobrazení textu (například dop. a odpoledne), zobrazí řetězec (v angličtině nebo arabštině) spojený s tímto symbolem. Rozsah určitých symbolů se změní, když je kalendář hidžra.

Symbol Rozsah
d 1-30
dd 1-30
ww 1-51
mmm Zobrazí úplné názvy měsíců (názvy měsíců hidžra nemají žádné zkratky).
y 1-355
yyyy 100-9666

Příklady

Použití funkce Format ve výrazuPříkaz Formát můžete použít všude, kde se dají použít výrazy. Můžete ho třeba 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říklady ukazují výraz, který můžete použít ve vlastnosti Filter sestavy k omezení výstupu na záznamy z předchozího týdne.

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

V tomto příkladu obsahuje zdroj záznamů sestavy pole s názvem Date, které obsahuje datum změny jednotlivých záznamů a použité v sestavě. Po spuštění sestavy jsou její výsledky filtrované tak, aby zobrazovaly jenom záznamy, ve kterých je týden pro hodnotu v poli Datum (Format([Date],"ww")) roven předchozímu týdnu (Format(Now(),"ww")-1).

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

Poznámka

Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

Tento příklad ukazuje různá použití funkce Format k formátování hodnot pomocí pojmenovaných formátů i pomocí uživatelem definovaných formátů. U oddělovače data (/), oddělovače času (:) a literálu AM/PM závisí skutečný formátovaný výstup zobrazený vaším systémem na nastavení národního prostředí počítače, na kterém je kód spuštěný. Při zobrazení času a data ve vývojovém prostředí se použije krátký formát času a krátký formát data národního prostředí kódu. Při zobrazení spuštěným kódem se používá krátký časový formát 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á národní prostředí americké angličtiny.

MyTime a MyDate jsou zobrazeny ve vývojovém prostředí pomocí aktuálního nastavení času a nastavení krátkého 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 Formát s řetězci nulové délky

V Microsoft Accessu verze 2.0 a starších verzích můžete funkci Format použít k vrácení jedné hodnoty pro řetězec nulové délky a jiné pro hodnotu. Výraz pro formátování, jako je například následující, můžete s funkcí Format použít k vrácení příslušné řetězcové hodnoty 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 a novějších je nutné samostatně otestovat případ hodnoty null a potom na základě výsledku vrátit příslušnou hodnotu. Funkci IIf můžete například použít ve výrazu s funkcí Format takto:

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

Tato změna platí jenom v případě, že použijete funkci Format k formátování řetězce v závislosti na tom, jestli se jedná o řetězec nulové délky nebo hodnotu Null. Ostatní formátovací výrazy používané s funkcí Format fungují stejně jako v předchozích verzích.

Pokud převádíte databázi z aplikace Microsoft Access verze 2.0 a starších na aplikaci Microsoft Access 2002 nebo novější, je nutné změnit kód tak, aby se pro případ hodnoty null testovalo samostatně.

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