Vrátí hodnotu varianty(řetězec)obsahující Výraz na základě 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, kdy by měl být týden 1. Další informace a alternativní řešení najdete v článku Formátování nebo Funkce DatePart vracející špatné číslo týdne pro poslední pondělí v roce. |
Syntaxe
Format( výraz [, format ] [, firstdayofweek ] [, firstweekofyear ] )
Syntaxe funkce Format obsahuje 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 formátu. |
firstdayofweek |
Nepovinný argument. Název Konstanta, který určuje první den v týdnu. |
prvnítýdně v roce |
Nepovinný argument. Konstanta určující 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 formátovaných výrazech najdete v článcích uvedených v následující tabulce.
Výrazy, které používají tento datový typ |
Viz článek |
Libovolný typ |
|
Datum a čas |
|
Číslo |
|
Text a poznámka |
|
Ano/Ne |
První_den_v_týdnu obsahuje tato nastavení:
Konstanta |
Hodnota |
Popis |
vbUseSystem |
0 |
Použijte nastavení rozhraní NLS API. |
VbSunday |
1 |
Neděle (výchozí) |
vbMonday |
2 |
Pondělí |
vbTuesday |
3 |
úterý |
vbWednesday |
4 |
Středa |
vb VisualSday |
5 |
Čtvrtek |
vbF poušty |
6 |
Pátek |
vbSaturday |
7 |
Sobota |
První rok má následující nastavení:
Konstanta |
Hodnota |
Popis |
vbUseSystem |
0 |
Použijte nastavení rozhraní NLS API. |
vbFirst Se1 |
1 |
Začněte týdnem, do kterého se vyskytuje 1. leden (výchozí nastavení). |
vbFirstFourDays |
2 |
Začněte prvním týdnem, který má v roce minimálně čtyři dny. |
vbFirstFullWeek |
3 |
Začněte prvním celým týdnem roku. |
Poznámky
Formát |
Postup |
Číslice |
Použití předdefinovaných číselných formátů nebo vytvoření číselných formátů definovaných uživatelem |
Data a časy |
Používejte předdefinované formáty data a času nebo vytvořte uživatelem definované formáty data a času. |
Pořadová čísla data a času |
Používejte 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 naformátovat číslo bez zadání formátu,funkce Formát se podobá funkci Str, i když se jedná o mezinárodní informace. Kladná čísla naformátovaná jako řetězce používající formát však nezahrnují mezeru na počáteční hodnotu vyhrazenou pro znaménko hodnoty. ty převedené pomocí funkce Str zachovvají počáteční mezeru.
Pokud formátovat nelokalizovanou číselnou hodnotu, měli byste použít uživatelem definovaný číselný formát, abyste měli zajištěno, že bude mít váš vzhled tak, jak chcete.
Poznámka: Pokud je vlastnost Kalendář nastavená na gregoriánský kalendář a formát určuje formátování data, musí být zadaný výraz gregoriánského kalendáře. Pokud je nastavená vlastnost Kalendář ve Visual Basicu hidžra, musí být zadaný výraz hidžra.
Pokud je kalendář gregoriánského kalendáře, význam symbolů výrazů ve formátu se nezmění. Pokud je 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, které mají za následek zobrazení textu (například am a pm) zobrazí řetězec (angličtina nebo arabština) přidružený k tomuto symbolu. Pokud je kalendář kalendář hidžra, změní se oblast určitých symbolů.
Symbol |
Oblast: |
d |
1-30 |
dd |
1-30 |
ww |
1-51 |
mmm |
Zobrazí názvy celých 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ýrazu Formát můžete použít všude, kde můžete používat výrazy. Můžete ho 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říklady ukazují výraz, který můžete použít ve vlastnosti filtru sestavy k omezení výstupu na záznamy z předchozího týdne.
Format([Datum],"ww")=Format(Now(),"ww")-1
V tomto příkladu má zdroj záznamů sestavy pole s názvem Date, které obsahuje datum změny každého konkrétního záznamu a které se používá v sestavě. Po spuštění sestavy se její výsledky vyfiltruje tak, aby se zobrazí jenom ty záznamy, ve kterých je týden s hodnotou v poli Datum (Format([Datum],"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é způsoby použití funkce Format k formátování hodnot pomocí pojmenovaných formátů i uživatelem definovaných formátů. Skutečný formátovaný výstupzobrazený systémem závisína nastavení národního prostředí počítače, na kterém kód běží. Pokud jsou ve vývojovém prostředí zobrazené časy a data, použije se krátký formát data a krátké datum pro národní prostředí kódu. Při zobrazení spuštěním kódu se použije 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á americké národní prostředí.
MyTime MyDate se ve vývojovém prostředí zobrazují s použitím nastavení krátkého času aktuálního systému 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í formátu u řetězců nulové délky
V Microsoft Accessu verze 2.0 a starších verzích můžete použít funkci Format k vrácení jedné hodnoty za Řetězec nulové délky jinou jako hodnotu. Například můžete použít výraz pro formátování s funkcí Format, který vrátí odpovídající hodnotu řetězce 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 Microsoft Accessu verze 97 a novějších musíte samostatně testovat případ hodnoty Null a potom vrátit odpovídající hodnotu na základě výsledku. Funkci IIf můžete například použít ve výrazu s funkcí Format, například takto:
varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))
Tato změna se použije jenom v případě, že použijete funkci Format k formátování řetězce závislého na tom, jestli se jedná o řetězec nulové délky nebo hodnotu Null. Ostatní výrazy formátu, které se používají s funkcí Format, budou dál fungovat stejně jako v předchozích verzích.
Pokud převedete databázi z Microsoft Accessu verze 2.0 nebo starší na Microsoft Access 2002 nebo novější, je nutné změnit kód tak, aby se testovat samostatně pro případ hodnoty Null.