Как в access преобразовать текст в число
Перейти к содержимому

Как в access преобразовать текст в число

  • автор:

Функции преобразования типа

Каждая функция принудя выражение к определенному тип данных.

CBool( выражение )

CByte( выражение )

CCur( выражение )

CDate( выражение )

CDbl( выражение )

CDec( выражение )

CInt( выражение )

CLng( выражение )

CSng( выражение )

CStr( выражение )

CVar( выражение )

Обязательный аргумент выражениеаргумент — это любое строковое выражение или числовое выражение.

Возвращаемые типы

Тип возвращаемого значения определяется по имени функции в соответствии со следующей таблицей:

Тип возвращаемого значения

Диапазон аргумента выражение

Любое допустимое строковое или числовое выражение.

От -922 337 203 685 477,5808 до 922 337 203 685 477,5807.

Любое допустимое выражение даты.

-1,79769313486231E308 до
-4,94065645841247E-324 для отрицательных значений; С 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений.

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

От -32 768 до 32 767, дробная часть округляется.

От -2 147 483 648 до 2 147 483 647, дробная часть округляется.

От -3,402823E38 до -1,401298E-45 для отрицательных значений и от 1,401298E-45 до 3,402823E38 для положительных.

Результат, возвращаемый функцией CStr, зависит от аргумента выражение.

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

Если передаваемое функции выражение находится за пределами диапазона типа данных, в который оно преобразуется, возникает ошибка.

Как правило, функции преобразования типов используются в тексте программ для того, чтобы указать, что результатом той или иной операции должны стать данные определенного типа, а не типа, заданного по умолчанию. Например, с помощью функции CCur можно принудительно перейти к вычислениям в денежном формате в тех случаях, в которых обычно используются действия с числами с обычной точностью, двойной точностью или с целыми числами.

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

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

Для определения возможности преобразования даты в дату или время используется функция IsDate. Функция CDate распознает литералы даты и времени, а также некоторые числа, которые находятся в диапазоне допустимых дат. При преобразовании числа в дату преобразуется целая часть числа. Дробная часть преобразуется во время суток, начиная с полуночи.

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

Функция CVDate предназначена для обеспечения совместимости с предыдущими версиями Visual Basic. Синтаксис функции CVDate идентичен синтаксису функции CDate, однако функция CVDate возвращает не результат типа Date, а результат типа Variant с подтипом 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;

Возвращает «ProductID», преобразует значения в поле «Quantity» в формат байтов и отображается в столбце Expr1 Возвращает «ProductID», преобразует значения в поле «Quantity» в денежный формат и отображается в столбце Expr1.

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

Возвращает «ProductID», преобразует значения в поле DateofSale в формат Date и отображается в столбце Expr1.

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

Возвращает «ProductID», преобразует значения в поле «Скидка» в формат Double и отображается в столбце Expr1.

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

Возвращает «ProductID», преобразует значения в поле «Скидка» в целочисленный формат и отображается в столбце Expr1.

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

Возвращает «ProductID», преобразует значения в поле «Скидка» в длинный формат и отображается в столбце Expr1.

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

Возвращает «ProductID», преобразует значения в поле «Скидка» в одиночный формат и отображается в столбце Expr1.

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

Возвращает «ProductID», преобразует значения в поле «Скидка» в формат строки и отображается в столбце Expr1.

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

Возвращает «ProductID», преобразует значения в поле «Скидка» в Double для числовых значений и String для нечисловых значений.

Примеры VBA

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Дополнительные сведения о работе с VBA см. в статье Access VBA Reference.

Функция CBool

В этом примере функция CBool используется для преобразования выражения в тип Boolean. Если выражение разрешается в ненулевое значение, функция 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.

Преобразование текста в дату в ACCESS

ДОброго всем дня, помогите преобразовать число 20070101 в дату 01.01.2007 в Аксесс или Ексель. У меня большая база с такими датами из под DOC C+ Базу перевел в формат ACCESS и не могу работать с датами, а преобразовываться из числа в дату не хотят. Может кто процедуркой поможет. За ранее спасибо.:confused:

5 ответов

27 января 2007 года
816 / / 16.12.2004
MsgBox CStr(CDate(39109))
28 января 2007 года
87 / / 05.08.2003
Процедура на VB6.0

Private Sub Command1_Click()
Dim strDate, strD, strM, strY As String
If Data1.Recordset.RecordCount > 0 Then
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
Data1.Recordset.Edit
strDate = Trim(Str(Data1.Recordset!num))
strY = Left(strDate, 4)
strM = Mid(strDate, 5, 2)
strD = Mid(strDate, 7, 2)
Data1.Recordset!datt = CDate(strD & «/» & strM & «/» & strY)
Data1.Recordset.Update
Data1.Recordset.MoveNext
Loop
End If
End Sub

28 января 2007 года
2 / / 22.01.2007

Ашдот спасибо за ответ, у меня не получается, я видать сосвсем чайник. Конкретно у меня есть таблица 01 и поле d05_f10 в котором стоит дата в числовом виде 20070101 в 15 тысячах записей. Может перевести числовой в текстовый формат? как правильно подставить в модуль имя таблицы и поля? Огромное спасибо! Надеюсь на Ваше мнение.

29 января 2007 года
87 / / 05.08.2003
НиколайК
Не «Ашдот», а Tever 🙂
Присылайте Вашу базу на [email]tever@mail.ru[/email]
Я сделаю модуль
29 января 2007 года
87 / / 05.08.2003

Вот в этом примере работает модуль преобразующий число в дату
Порядок действий:
1. Очистить поле Datt в таблице Table1.
2. Запустить макрос Start, который вызывает функцию SetData() из модуля MyModule. (Как срабатывает макрос видно в его конструкторе.)
3. В модуле MyModule производится преобразование данных.

P.S. Все написано в Access 97

Convert Text into Number in Ms Access

JavaTpoint

In this module, we will learn to convert the numerical data stored in the field in MS Access into text. We will use the Val function to perform this function. We will learn the syntax and perform some implementations.

Val Function

This function is used in MS Access to convert the string into numeric. The function takes a single value as an input and returns a numeric value as the output.

The parameter in Val Function

It takes a string value as an input parameter. The numeric value is derived from the string entered as the parameter.

Return Value in Val Function

The Val Function will return a numeric value derived from the string. It is the numeric part that is stored as a string data type.

Note: The Val function does not read the textual information, but it converts the data type of the numeric value stored as the string. The function reads the string from left to right which is entered as the parameter. It will stop reading the string when the function encounters the very first character that cannot be recognised as a numeric value in the string. This means that if you want to convert the data into a numeric value, the numeric part should be located at the beginning of the entered string. If there is any character before the numeric part, then it won’t be able to convert that part into a number.

The syntax for Val Function

The syntax for implementing the Val Function is as follows:

Remember the following Points:

  • If you want the Val Function to convert the string into a numeric value, then the user needs to ensure that the string has the numeric value in the beginning; else, the function will simply return 0.
  • As discussed above, the Val Functions stops reading the string as it encounters the first non-numeric value and cannot be converted into a number on changing its data type. But there can be spaces between the numeric value. That is, the non-numeric character does not include the spaces in the string and will read the string further.
  • If there is no numeric value at the beginning of the string, then the function returns 0.

Versions of MS Access Supporting Val Function

The Val function can only be implemented in the following versions of Microsoft Access:

Access 2019, Access 2016, Access 2013, Access 2010, Access 2007, Access 2003, Access XP, Access 2000.

If any updated versions in the MS Access are released after the mentioned version, then the user can refer to the release documentation to check if there is any change in the implementation of the Val Function.

Implementation of the Val Function in MS Access:

Let us discuss some examples to see the implementation in Microsoft Access.

The above function will return 10 as a result. The next character it will encounter after space will be m which cannot be converted into a numeric value.

The above function will return 1015 as a result. It will first encounter 10, then after several spaces, it will encounter 15, which will also be converted, but after that, the next character after space is i, which cannot be converted. Thereby, it will stop reading the string further.

The above function returns 10. As since ‘:’ is a non-numeric character, it will stop right there.

The value returned by the function will be 75. The numeric equivalent of 075 is 75 only.

It will return 0 as the first character is T in the string, which is a non-numeric character.

Implementation of VBA Code

The Val Function can be implemented in VBA code in MS Access

After the conversion using the Val function, the LNo would store the value of 96.9. It stores the numeric value in the variable.

Implementation of Val Function in SQL Queries

Convert Text into Number in Ms Access

To implement the Val function, use the following query:

The above query will return the numeric value located at the beginning of the Description field. It works as it works with a string value. The result after computation will be stored in Expr01. The user can use a column name instead of Expr01, making it easier to understand.

Next Topic IIf Condition in MS Access

Youtube

For Videos Join Our Youtube Channel: Join Now

Feedback

  • Send your Feedback to [email protected]

Как в access преобразовать текст в число

Здравствуйте, вопрос в следующем есть текстовые поля, с числами еесть возможность изменить формат этих полей на числовой при помощи какой либо функции, мне для того чтобы посчитать статистику необходимо складывать эти значения, а в тексовом формате естественно они не складываются, пыталась использовать функцию FormatNumber(), но почему то ни какого эффекта(((

Fezdipekla
Посмотреть профиль
Найти ещё сообщения от Fezdipekla

Пользователь
Регистрация: 14.09.2010
Сообщений: 68

Доброго времени суток!

Преобразование числа, записанного как текст в число — функция VAL()

LittleFatCat
Посмотреть профиль
Найти ещё сообщения от LittleFatCat
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Число как текст преобразовать в число agregator Microsoft Office Excel 5 28.04.2010 06:08
как в отчете число преобразовать в текст tavoz Microsoft Office Access 1 23.02.2010 15:29
Как преобразовать адрес в число valerij Microsoft Office Excel 2 12.01.2010 21:35
Как преобразовать в число komar73 Microsoft Office Excel 11 15.04.2009 14:32
Как преобразовать число в текст на русском языке. Aerodeck Microsoft Office Excel 2 09.10.2007 07:51

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *