Funkcia Format

Vzťahuje sa na
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vráti hodnotu typu Variant (String), ktorá obsahuje výraz formátovaný podľa pokynov obsiahnutých vo výraze formátu.

Upozornenie Vyskytol sa problém s používaním tejto funkcie. Posledný pondelok v niektorých kalendárnych rokoch sa môže vrátiť ako týždeň 53, pričom mal to byť týždeň 1. Ďalšie informácie a alternatívne riešenie nájdete v téme Funkcie Format alebo DatePart môžu vrátiť nesprávne číslo týždňa za posledný pondelok v roku.

Pozrite si niekoľko príkladov

Syntax

Format( *výraz [, formát] [, prvý deň týždňa ] [, prvý týždeň roka ] )

Syntax funkcie Format má tieto argumenty:

Argument Popis
výraz Povinný argument. Ľubovoľný platný výraz.
formát Voliteľný argument. Platný výraz pomenovaného alebo používateľom definovaného formátu.
prvýdeňtýždňa Voliteľný argument. Konštanta, ktorá určuje prvý deň týždňa.
prvýtýždeňroka Voliteľný argument. Konštanta, ktorá určuje prvý týždeň roka.

    

Nastavenia

Argument formát môže používať rôzne nastavenia v závislosti od typu údajov argumentu výrazu . Ďalšie informácie o výrazoch platného formátu nájdete v článkoch uvedených v nasledujúcej tabuľke.

Výrazy, ktoré používajú tento typ údajov... Pozrite si článok
Ľubovoľný typ Vlastnosť formátu
Dátum/čas Formátovanie poľa dátumu a času
Číslo Formátovanie poľa s číslom alebo menou
Text a memo Formátovanie textového poľa
Áno/Nie Vlastnosť formátu – typ údajov Áno/Nie

    

Argument prvýdeňtýždňa má tieto nastavenia:

Konštanta Hodnota Popis
vbUseSystem 0 Použije sa nastavenie NLS API.
VbSunday 1 Nedeľa (predvolené)
vbMonday 2 Pondelok
vbTuesday 3 Utorok
vbWednesday 4 Streda
vbThursday 5 Štvrtok
vbFriday 6 Piatok
vbSaturday 7 Sobota

    

Argument prvýtýždeňroka má tieto nastavenia:

Konštanta Hodnota Popis
vbUseSystem 0 Použije sa nastavenie NLS API.
vbFirstJan1 1 Začína sa týždňom, do ktorého spadá 1. január (predvolená možnosť).
vbFirstFourDays 2 Začína sa prvým týždňom, v ktorom sa nachádzajú aspoň štyri dni roka.
vbFirstFullWeek 3 Začína sa prvým celým týždňom v roku.

    

Poznámky:

Formátovanie Postup
Čísla Použite vopred definované pomenované numerické formáty alebo vytvorte používateľom definované numerické formáty.
Dátum a čas Použite vopred definované pomenované formáty dátumu a času alebo vytvorte používateľom definované formáty dátumu a času.
Poradové čísla dátumu a času Použite formáty dátumu a času alebo číselné formáty.
Reťazce Vytvorte vlastné používateľom definované formáty reťazca.

    

Ak sa pokúsite naformátovať číslo bez určenia formátu, funkcia Format poskytne podobné možnosti ako funkcia Str , aj keď sa používa medzinárodne. Kladné čísla naformátované ako reťazec pomocou funkcie Format však nezahŕňajú medzeru na začiatku, ktorá je vyhradená pre znamienko hodnoty. Bunky konvertované pomocou funkcie Str zachovávajú úvodnú medzeru.

Ak formátujete nelokalizovaný číselný reťazec, mali by ste použiť používateľom definovaný číselný formát, pomocou ktorého môžete zabezpečiť požadovaný vzhľad.

Poznámka

Ak je vlastnosť Kalendár nastavená na možnosť Gregoriánsky a argument formát určuje formátovanie dátumu, zadaný výraz musí byť podľa gregoriánskeho kalendára. Ak je vlastnosť Kalendár programu Visual Basic nastavená na možnosť Hedžra, zadaný výraz musí byť podľa kalendára Hedžra.

Ak je kalendár gregoriánsky, význam symbolov pre výraz formátu sa nezmení. Ak ide o kalendár Hedžra, všetky symboly pre formát dátumu (napríklad dddd, mmmm, rrrr) majú rovnaký význam, ale vzťahujú sa na kalendár Hedžra. Symboly pre formát zostanú v anglickom jazyku; symboly, ktorých výsledkom je zobrazenie textu (napríklad AM a PM) zobrazia reťazec (v angličtine alebo arabčine) priradený k danému symbolu. V kalendári Hedžra sa mení rozsah určitých symbolov.

Symbol Rozsah
d 1 – 30
dd 1 – 30
ww 1 – 51
mmm Zobrazí celý názov mesiaca (názvy mesiacov v kalendári Hedžra nemajú žiadne skratky).
y 1 – 355
yyyy 100 – 9666

Príklady

Použitie funkcie Format vo výrazeFormát môžete použiť všade tam, kde chcete použiť výrazy. Môžete ju napríklad použiť v dotaze ako súčasť pre alias poľa alebo v rámci vlastnosti textového poľa Zdroj ovládacieho prvku vo formulári alebo zostave. V nasledujúcich príkladoch je znázornené použitie výrazu v rámci vlastnosti zostavy pre Filter, pomocou ktorej môžete obmedziť výstupy na záznamy z predchádzajúceho týždňa.

Format([Dátum],"ww")=Format(Now(),"ww")-1

V tomto príklade má zdroj záznamu v zostave názov poľa Dátum, v ktorom sa nachádzajú dátumy, kedy boli všetky jednotlivé záznamy upravené a použité v zostave. Po spustení zostavy sa výsledky vyfiltrujú a zobrazia sa iba tie záznamy, v ktorých je týždeň pre hodnotu v poli Dátum (Format([Dátum],"ww")) zhodný s predchádzajúcim týždňom (Format(Now(),"ww")-1).

Použitie funkcie Format v kóde VBA 

Poznámka

Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

V tomto príklade sú znázornené rôzne použitia funkcie Format na formátovanie hodnôt s použitím pomenovaných formátov alebo používateľom definovaných formátov. V prípade oddeľovača dátumu (/), oddeľovača času (:) a doslovného hodnoty AM/PM závisia skutočný formátovaný výstup zobrazený vaším systémom od miestnych nastavení počítača, v ktorom je kód spustený. Keď sa vo vývojárskom prostredí zobrazujú časy a dátumy, používa sa krátky formát času a krátky formát dátumu miestnych nastavení kódu. Pri zobrazení spustením kódu sa používajú krátky formát času a krátky formát dátumu miestnych nastavení systému, ktoré sa môžu líšiť od miestnych nastavení kódu. V tomto príklade sa predpokladá miestne nastavenie americkej angličtiny.

MyTime a MyDate zobrazujú sa vo vývojárskom prostredí pomocou nastavenia krátkeho času a krátkeho dátumu v aktuálnom systéme.

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žívanie funkcie Formát s reťazcami nulovej dĺžky

V Microsoft Accesse verzie 2.0 a staršej môžete funkciu Format použiť na vrátenie jednej hodnoty pre reťazec s nulovou dĺžkou a druhej pre hodnotu. Ak chcete vrátiť príslušnú hodnotu reťazca z kódu, môžete vo funkcii Format použiť nasledujúce výrazy formátu:

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 Accesse verzie 97 a novšej musíte výskyt hodnoty Null otestovať osobitne a potom na základe výsledku príslušnú hodnotu vrátiť. Môžete napríklad použiť funkciu IIf vo výraze s funkciou Format, napríklad takto:

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

Táto zmena sa vzťahuje len na prípady, keď funkciu Format používate na formátovanie reťazca v závislosti od toho, či ide o reťazec s nulovou dĺžkou alebo s hodnotou Null. Ostatné výrazy formátu, ktoré sa používajú s funkciou Format, budú aj naďalej fungovať tak, ako v predchádzajúcich verziách.

Ak databázu z Microsoft Accessu verzie 2.0 a staršej skonvertujete na Microsoft Access 2002 alebo novší, musíte zmeniť kód a výskyt hodnoty Null testovať osobitne.

Funkcie na prácu s reťazcami a spôsob ich používania