Функция Format

Отнася се за
Access за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Връща стойност от тип Variant (String), съдържаща израз, форматиран според инструкциите, които се съдържат в израз за формат.

Предупреждение Има проблем с използването на тази функция. Последният понеделник в някои календарни години може да бъде върнат като седмица 53, докато би трябвало да е седмица 1. За повече информация и заобиколно решение вижте Функциите Format или DatePart могат да върнат грешен номер на седмицата за последния понеделник в годината.

Вижте някои примери

Синтаксис

Format( *израз [, формат ] [, първи ден от седмицата ] [, първа седмица от годината ] )

Синтаксисът на функцията Format има следните аргументи:

Аргумент Описание
израз Задължително. Всеки валиден израз.
Форматиране Незадължително. Валиден наименуван или дефиниран от потребител израз за формат.
първи ден от седмицата Незадължително. Константа, която указва първия ден от седмицата.
първа седмица от годината Незадължително. Константа, която указва първата седмица от годината.

    

Настройки

Аргументът format може да използва различни настройки в зависимост от типа данни на аргумента "израз". Прегледайте статиите, изброени в следващата таблица, за повече информация относно валидните изрази за форматиране.

За изрази, които използват този тип данни... Вижте статията
Всеки тип Свойство Format
Дата/час Форматиране на поле за дата и час
Число Форматиране на числово поле или поле за валута
Текст и паметна бележка Форматиране на текстово поле
Да/Не Свойство Format – данни от тип "Да/не"

    

Аргументът firstdayofweek има следните настройки:

Константа Стойност Описание
vbUseSystem 0 Използвайте настройка за NLS API.
VbSunday 1 Неделя (по подразбиране)
vbMonday 2 Понеделник
vbTuesday 3 Вторник
vbWednesday 4 Сряда
vbThursday 5 Четвъртък
vbFriday 6 Петък
vbSaturday 7 Събота.

    

Аргументът "първа седмица от годината " има следните настройки:

Константа Стойност Описание
vbUseSystem 0 Използвайте настройка за NLS API.
vbFirstJan1 1 Започнете със седмицата, в която настъпва 1 януари (по подразбиране).
vbFirstFourDays 2 Започнете с първата седмица, която има поне четири дни в годината.
vbFirstFullWeek 3 Започнете с първата пълна седмица на годината.

    

Забележки

За да форматирате Направете това
цифри Използвайте предварително дефинирани наименувани числови формати или създайте дефинирани от потребителя числови формати.
Дати и часове Използвайте предварително дефинирани формати за дата/час или създайте дефинирани от потребителя формати за дата/час.
Поредни числа за дата и час Използвайте формати за дата и час или числови формати.
Низове Можете да създадете свои собствени, дефинирани от потребителя формати за низове.

    

Ако опитате да форматирате число, без да задавате формат, форматът предоставя функционалност, подобна на функцията Str , въпреки че е международно позната. Положителните числа, форматирани като низове с помощта на формат обаче, не включват начален интервал, запазен за знака на стойността; тези, преобразувани чрез Str, запазват водещото място.

Ако форматирате нелокализиран числов низ, трябва да използвате дефиниран от потребителя числов формат, за да сте сигурни, че ще получите желания облик.

Забележка

Ако настройката на свойството Calendar е григориански и format указва форматиране на дата, предоставеният израз трябва да е григориански. Ако настройката на свойството на Visual Basic Calendar е "Хиджра", предоставеният израз трябва да бъде "Хиджра".

Ако календарът е григориански, значението на символите за форматиране на изрази остава непроменено. Ако календарът е календар хиджра, всички символи за формат за дата (например дддд, мммм, гггг) имат едно и също значение, но важат за календара хиджра. Символите за форматиране остават на английски език; Символите, които водят до показване на текст (например AM и PM), показват низа (английски или арабски), свързан с този символ. Диапазонът на някои символи се променя, когато календарът е хиджра.

Symbol (Символ) Обхват
d 1-30
dd 1-30
ww 1-51
mmm Показва пълните имена на месеците (имената на месеците хиджри нямат съкращения).
y 1-355
yyyy 100-9666

Примери

Използване на функцията Format в израз Можете да използвате формат навсякъде, където можете да използвате изрази. Можете например да го използвате в заявка като част от псевдоним на поле или в свойството "Източник за контролата " на текстово поле във формуляр или отчет. Следващите примери показват израз, който можете да използвате в свойството "Филтър " на отчет, за да ограничите резултата до записи от предишната седмица.

Format([Дата];"ww")=Format(Now();"ww")-1

В този пример източникът на записи за отчета има поле с име "Дата", което съдържа датата, на която всеки запис е бил променен, и което се използва в отчета. Когато изпълните отчета, неговите резултати се филтрират, за да покажат само тези записи, където седмицата за стойността в полето за дата (Format([Date],"ww")) е равна на предишната седмица (Format(Now(),"ww")-1).

Използване на функцията Format в код на VBA 

Забележка

Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.

Този пример показва различни употреби на функцията Format за форматиране на стойности с помощта на наименувани формати и дефинирани от потребителя формати. За разделителя за дата (/), разделителя за час (:) и литерала AM/PM действителният форматиран резултат, показан от вашата система, зависи от настройките на езиковата променлива на компютъра, на който се изпълнява кодът. Когато часовете и датите се показват в средата за разработка, се използват форматът за кратък час и форматът на кратка дата на езиково-географската променлива на кода. Когато се показват с изпълняващ се код, се използват форматът за кратък час и форматът на кратката дата на езиковата променлива на системата, които могат да се различават от езиковата променлива на кода. За този пример се предполага езиково-географската променлива "Американски английски".

MyTime и MyDate се показват в средата за разработване, като се използват текущата системна настройка за кратко време и настройката за кратка дата.

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".

      

Използване на формат с низове с нулева дължина

В Microsoft Access версия 2.0 и по-старите версии можехте да използвате функцията Format , за да се върне една стойност за низ с нулева дължина и друга за стойност. Например можете да използвате израз за форматиране, подобен на следния, с функцията Format , за да върнете съответната стойност на низ от код:

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

Във версии 97 и по-нови на Microsoft Access трябва да тествате отделно за буквата Null , след което да върнете съответната стойност въз основа на резултата. Например можете да използвате функцията IIf в израз с функцията Format , например следната:

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

Тази промяна се прилага само когато използвате функцията Format за форматиране на низ, в зависимост от това дали е низ с нулева дължина, или стойност Null. Другите изрази за форматиране, използвани с функцията Format , продължават да работят, както и в предишните версии.

Ако преобразувате база данни от версия 2.0 на Microsoft Access или по-стара версия в Microsoft Access 2002 или по-нова версия, трябва да промените кода, за да тествате отделно за случаите с нулева стойност.

Функции за низове и как да ги използвате