Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Кожна функція приводить вираз до певного тип даних.

Синтаксис

CBool( expression )

CByte( expression )

CCur( expression )

CDate( expression )

CDbl( expression )

CDec( expression )

CInt( expression )

CLng( expression )

CSng( expression )

CStr( expression )

CVar( expression )

Обов'язковим виразомаргумент є будь-який рядковий вираз або числовий вираз.

Типи значень, що повертаються

Ім’я функції визначає тип значення, що повертається, як показано нижче:

Функція

Тип повернутого значення

Діапазон для аргументу expression

CBool

Boolean

Будь-який дійсний рядковий або числовий вираз.

CByte

Byte

Від 0 до 255.

CCur

Currency

Від –922 337 203 685 477,5808 до 922 337 203 685 477,5807.

CDate

Date

Будь-який вираз у форматі дати.

CDbl

Double

Від -1,79769313486231E308 до -4.94065645841247E-324 для від'ємних значень; 4.94065645841247E-324 до 1,79769313486232E308 для додатних значень.

CDec

Decimal

Від +/–79 228 162 514 264 337 593 543 950 335 для недробових чисел, тобто чисел без десяткових знаків. Для чисел із 28 десятковими розрядами діапазон має значення +/-7.9228162514264337593543950335. Найменше можливе ненульове число – 0,0000000000000000000000000001.

CInt

Integer

Від –32 768 до 32 767; дроби округлюються.

CLng

Long

Від –2 147 483 648 до 2 147 483 647; дроби округлюються.

CSng

Single

Від –3,402823E38 до –1,401298E-45 для від’ємних значень; від 1,401298E-45 до 3,402823E38 для додатних значень.

CStr

String

Тип повернутого значення для CStr залежить від аргументу expression.

CVar

Variant

Такий же діапазон, як і в типу Double для числових виразів. Такий же діапазон як і в типу String для нечислових виразів.

Примітки

Якщо заданий у функції аргумент expression виходить за межі діапазону відповідних типів даних, станеться помилка.

Загалом ви можете записати код, використовуючи функції перетворення типу даних, щоб показати, що результат певної дії має бути виражено як значення визначеного, а не стандартного типу даних. Наприклад, скористайтеся функцією CCur для примусового розрахунку значень типу "Грошова одиниця", де зазвичай відбувався би розрахунок чисел одинарної чи подвійної точності або цілих чисел.

Функції перетворення типу даних слід застосовувати замість функції Val, щоб перетворювати типи даних відповідно до локальних стандартів країни. Наприклад, якщо використовується функція CCur, різні десяткові роздільники, роздільники груп розрядів, а також різні грошові одиниці розпізнаються належним чином залежно від локалізації вашого комп’ютера.

Якщо дробова частина становить рівно 0,5, функції CInt і CLng завжди округлюють її до найближчого парного числа. Наприклад, 0,5 округлюється до 0, а 1,5 – до 2. Функції CInt і CLng відрізняються від Fix та Int, які радше обрізають дробову частину числа, а не округлюють її. Крім того, функції Fix та Int завжди повертають значення того самого типу, що й вихідне.

Використовуйте функцію IsDate, якщо вам потрібно визначити, чи значення date можна перетворити на дату або час. Функція CDate розпізнає літерали дати й літерали часу, а також деякі числа, які потрапляють до діапазону прийнятних дат. Якщо перетворити число на дату, на дату перетвориться ціла частина числа. Дробова частина числа перетвориться на час дня, причому відлік починається з півночі.

Функція CDate розпізнає формати дат відповідно до настройок регіон системи. Правильний порядок дня, місяця та року може не визначатися, якщо його вказано у форматі, відмінному від одного з розпізнаних параметрів дати. Крім того, довгий формат дати не розпізнається, якщо він також містить рядок дня тижня.

Функція CVDate також використовується для сумісності з попередніми версіями Visual Basic. Функції CVDate і CDate мають однаковий синтаксис, проте функція CVDate повертає значення типу Variant із підтипом Date, а не фактичного типу Date. Оскільки тепер з’явився спеціальний тип Date, потреба в CVDate відпала. Такого ж результату можна досягти, перетворивши вираз на значення типу Date, а потім призначивши його значенню тип Variant. Цей метод підходить і для перетворення всіх інших спеціальних типів на їхні еквівалентні підтипи Variant.

Примітка.:  Функція CDec не повертає значення окремого типу даних, а натомість завжди повертає тип Variant, значення якого перетворено на підтип Decimal.

Приклади запитів

Вираз

Результати

SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales;

Повертає значення "SalePrice", "FinalPrice" і обчислює, чи значення SalePrice більше кінцевої ціни. Повертає "-1", якщо значення true, і "0", якщо значення false.

SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales;

Повертає значення "Ідентифікатор товару", перетворює значення в полі "Кількість" на формат байтів і відображається в стовпці Вираз1 Повертає "Ідентифікатор товару", перетворює значення в полі "Кількість" на грошовий формат і відображається в стовпці Вираз1.

SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales;

Повертає значення "Ідентифікатор товару", перетворює значення в полі "DateofSale" на формат дати та відображається в стовпці Вираз1.

SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales;

Повертає значення "Ідентифікатор товару", перетворює значення в полі "Знижка" на подвійний формат і відображається в стовпці Вираз1.

SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales;

Повертає значення "Ідентифікатор товару", перетворює значення в полі "Знижка" на ціле число та відображається в стовпці Вираз1.

SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales;

Повертає значення "Ідентифікатор товару", перетворює значення в полі "Знижка" на довгий формат і відображається в стовпці Вираз1.

SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales;

Повертає значення "Ідентифікатор товару", перетворює значення в полі "Знижка" на одинарний формат і відображається в стовпці Вираз1.

SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales;

Повертає значення "Ідентифікатор товару", перетворює значення в полі "Знижка" на формат "Рядок" і відображається в стовпці Вираз1.

SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales;

Повертає "Ідентифікатор товару", перетворює значення в полі "Знижка" на подвійне для числових значень і рядок для нечислових значень.

Приклади VBA

Примітка.: У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Докладні відомості про роботу з VBA див. в статті Довідник із VBA в Access.

Функція CBool

У цьому прикладі використано функцію CBool, щоб призначити виразу тип Boolean. Якщо вираз не дорівнює 0, функція CBool повертає значення True; інакше повертається значення False.

Dim A, B, Check
A = 5: B = 5    ' Initialize variables.
Check = CBool(A = B)    ' Check contains True.
A = 0    ' Define variable.
Check = CBool(A)    ' Check contains False.

Функція CByte

У цьому прикладі використано функцію CByte, щоб призначити виразу тип Byte.

Dim MyDouble, MyByte
MyDouble = 125.5678    ' MyDouble is a Double.
MyByte = CByte(MyDouble)    ' MyByte contains 126.

Функція CCur

У цьому прикладі використано функцію CCur, щоб призначити виразу тип Currency.

Dim MyDouble, MyCurr
MyDouble = 543.214588    ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2)    
' Convert result of MyDouble * 2 (1086.429176) to a 
' Currency (1086.4292).

Функція CDate

У цьому прикладі використано функцію CDate, щоб призначити виразу тип Date. Загалом вводити значення дати й часу як рядки (як показано в цьому прикладі) не рекомендується. Краще використовувати літерали дати й часу, як-от #2/12/1969# і #4:45:23 PM#.

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969" 
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM" 
' Convert to Date data type.
MyShortTime = CDate(MyTime)

Функція CDbl

У цьому прикладі використано функцію CDbl, щоб призначити виразу тип Double.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

Функція CDec

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

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587    ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr)     ' MyDecimal is a Decimal.

Функція CInt

У цьому прикладі використано функцію CInt, щоб призначити значенню тип Integer.

Dim MyDouble, MyInt
MyDouble = 2345.5678    ' MyDouble is a Double.
MyInt = CInt(MyDouble)    ' MyInt contains 2346.

Функція CLng

У цьому прикладі використано функцію CLng, щоб призначити значенню тип Long.

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55  ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)
' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2)
' MyLong2 contains 25428.

Функція CSng

У цьому прикладі використано функцію CSng, щоб призначити значенню тип Single.

Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2)
' MySingle2 contains 75.34216.

Функція CStr

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

Dim MyDouble, MyString
MyDouble = 437.324    ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".

Функція CVar

У цьому прикладі використано функцію CVar, щоб призначити виразу тип Variant.

Dim MyInt, MyVar
MyInt = 4534    ' MyInt is an Integer.
MyVar = CVar(MyInt & "000") 
' MyVar contains the string 4534000.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.