Функція Format

Повертає значення типу Variant (String), яке містить вираз, відформатований відповідно до інструкцій, які містяться у виразі форматування.

Див. приклади

Синтаксис

Format( expression [, format ] [, firstdayofweek ] [, firstweekofyear ] )

Синтаксис функції Format має такі аргументи:

Аргумент

Опис

expression

Обов’язковий аргумент. Будь-який припустимий вираз.

format

Необов’язковий аргумент. Припустимий іменований або визначений користувачем вираз форматування.

firstdayofweek

Необов’язковий аргумент. Константа, яка задає перший день тижня.

firstweekofyear

Необов’язковий аргумент. Константа, яка задає перший день року.


Параметри

В аргументі format можна використовувати різні параметри залежно від типу даних аргументу expression. Докладні відомості про припустимі вирази форматування див. в статтях, указаних в наведеній нижче таблиці.

Вирази, для яких використовується цей тип даних…

Стаття

Будь-який тип

Властивість "Формат" (Format)

Дата або час

Властивість "Формат" (Format) для даних типу "Дата/Час"

Числовий

Властивість "Формат" (Format) для даних типу "Числовий" і "Грошова одиниця"

Текст і Memo

Властивість "Формат" (Format) для даних типу "Текст" і Memo

Так/Ні

Властивість "Формат" (Format) для даних типу "Так/Ні"


Аргумент firstdayofweek має такі параметри:

Константа

Значення

Опис

vbUseSystem

0

Використовуйте параметр API NLS.

VbSunday

1

Неділя (за замовчуванням)

vbMonday

2

Понеділок

vbTuesday

3

Вівторок

vbWednesday

4

Середа

vbThursday

5

Четвер

vbFriday

6

П’ятниця

vbSaturday

7

Субота


Аргумент firstweekofyear має такі параметри:

Константа

Значення

Опис

vbUseSystem

0

Використовуйте параметр API NLS.

vbFirstJan1

1

Почати з тижня, до якого належить 1 січня (за замовчуванням).

vbFirstFourDays

2

Почати з першого тижня, який має принаймні чотири дні року.

vbFirstFullWeek

3

Почати з першого повного тижня року.


Примітки

Об’єкт форматування

Дія

Числа

Використовуйте попередньо визначені іменовані числові формати або створіть числові формати користувача.

Дати й час

Використовуйте попередньо визначені іменовані формати дати й часу або створіть формати дати й часу користувача.

Порядкові номери дати й часу

Використовуйте формати дати й часу або числові формати.

Рядки

Створіть власні користувацькі формати рядка.


Якщо спробувати відформатувати число, не вказавши аргумент format, функція Format працюватиме подібно до функції Str, але з урахуванням локальних стандартів. Однак додатні числа, відформатовані як рядки за допомогою функції Format, не включають перший пробіл, зарезервований для знака; а додатні числа, перетворені за допомогою функції Str, зберігають перший пробіл.

Форматуючи нелокалізований числовий рядок, потрібно використовувати користувацький числовий формат, щоб надати рядку потрібного вигляду.

Примітка : Якщо параметр властивості Calendar має значення "Gregorian" і аргумент format указує форматування дати, то наданий аргумент expression має відповідати григоріанському календарю. Якщо параметр властивості Calendar Visual Basic має значення "Hijri", то наданий аргумент expression має відповідати календарю хіджри.

Якщо календар григоріанський, значення символів виразу format не змінюється. Якщо календар хіджри, усі символи формату дати (наприклад, дддд, мммм, рррр) мають однакове значення, але стосуються календаря хіджри. Символи формату залишаються англійською мовою; символи, які призводять до відображення тексту (наприклад, AM і PM), відображають рядок (англійською або арабською мовою), пов’язаний із цим символом. Діапазон певних символів змінюється, коли використовується календар хіджри.

Символ

Діапазон

d

1–30

dd

1–30

ww

1–51

mmm

Повні назви місяців (назви місяців хіджри не скорочуються).

y

1–355

yyyy

100–9666

Приклади

Використання функції Format у виразі    Функцію Format можна використовувати будь-де, де можна використовувати вирази. Наприклад, її можна використати в запиті у рамках псевдоніма поля, або у властивості Control Source текстового поля у формі чи звіті. У наведеному нижче прикладі показано вираз, який можна використати у властивості Filter звіту, щоб обмежити вивід до записів із попереднього тижня.

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

У цьому прикладі джерело записів звіту має поле з іменем "Date", що містить дату змінення кожного конкретного запису та використовується у звіті. Коли ви запускаєте звіт, його результати фільтруються, щоб відобразити тільки ті записи, у яких тиждень для значення в полі "Date" (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".


Використання функції Format із рядками нульової довжини

У програмі 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")

У програмі Microsoft Access версії 97 і пізніших необхідно перевірити окремо для випадку Null-значення, а потім повернути відповідне значення на основі результату. Наприклад, ви можете використати функцію IIf у виразі з функцією Format, на кшталт такої:

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

Ця зміна застосовується, лише коли ви використовуєте функцію Format, щоб відформатувати рядок залежно від того, чи це рядок нульової довжини, чи Null-значення. Інші вирази форматування, що використовуються з функцією Format, працюють так само, як у попередніх версіях.

Якщо перетворити базу даних Microsoft Access версії 2.0 і раніших на Microsoft Access 2002 або пізнішої версії, необхідно змінити код для окремої перевірки на випадок Null-значення.

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×