Applies To„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Kiekviena funkcija priverstinai išraiška į konkretų duomenų tipas.

Sintaksė

CBool( reiškinys )

CByte( reiškinys )

CCur( reiškinys )

CDate( reiškinys )

CDbl( reiškinys )

CDec( reiškinys )

CInt( reiškinys )

CLng( reiškinys )

CSng( reiškinys )

CStr( reiškinys )

CVar( reiškinys )

Būtinas reiškinys ,argumentas, yra bet kuris eilutės išraiška arba skaitinis reiškinys.

Grąžinimo tipai

Funkcijos pavadinimas nustato grąžinimo tipą, kaip parodyta toliau:

Funkcija

Grąžinimo tipas

Reiškinio argumento diapazonas

CBool

bulio logika

Bet kuris galiojantis eilutės arba skaitinis reiškinys.

CByte

Baitas

nuo 0 iki 255.

CCur

Valiuta

-nuo 922 337 203 685 477,5808 iki 922 337 203 685 477,5807.

CDate

Data

Bet kuris galiojantis datos reiškinys.

CDbl

Dvigubas

-1,79769313486231E308 į -4,94065645841247E-324 neigiamoms reikšmėms; Nuo 4,94065645841247E-324 iki 1.79769313486232E308 teigiamoms reikšmėms.

CDec

Dešimtainis

+/-79,228,162,514,264,337,593,543,950,335 nulinio mastelio skaičiams, t. y. skaičiams be dešimtainių skilčių. Skaičių su 28 dešimtainėmis skiltimis diapazonas yra +/-7.9228162514264337593543950335. Mažiausias galimos nenulinis skaičius yra 0,0000000000000000000000000001.

CInt

Sveikasis skaičius

nuo -32,768 iki 32,767; trupmenos apvalinamos.

CLng

Ilgas

-nuo 2,147,483,648 iki 2,147,483,647; trupmenos apvalinamos.

CSng

Viengubas

-nuo -3,402823E38 iki -1.401298E-45 neigiamoms reikšmėms; Nuo 1.401298E-45 iki 3.402823E38 teigiamoms reikšmėms.

CStr

Eilutė

CStr grąžinimas priklauso nuo reiškinio argumento.

CVar

Variantas

Tas pats diapazonas kaip Dvigubas skaičių atveju. Tas pats diapazonas kaip Eilutė ne skaičių atveju.

Pastabos

Jei funkcijai perduota išraiška nepatenka į duomenų tipo diapazoną, į kurį konvertuojama, įvyksta klaida.

Paprastai kodą galite dokumentuoti naudodami duomenų tipo konvertavimo funkcijas, kad parodytumėte, jog tam tikros operacijos rezultatas turėtų būti išreikštas kaip tam tikras duomenų tipas, o ne numatytasis duomenų tipas. Pavyzdžiui, naudokite CCur norėdami priverstinai naudoti valiutos aritmetinį formatą tais atvejais, kai paprastai būdavo naudojamas viengubas tikslumas, dvigubas tikslumas arba sveikojo skaičiaus aritmetinis skaičius.

Turėtumėte naudoti duomenų tipo konvertavimo funkcijas vietoj Val , kad galėtumėte tarptautiniu mastu konvertuoti vieną duomenų tipą į kitą. Pvz., naudojant CCur, skirtingi dešimtainiai skyrikliai, skirtingi tūkstančių skyrikliai ir įvairios valiutos parinktys yra tinkamai atpažįstamos, atsižvelgiant į kompiuterio lokalės parametrą.

Kai trupmeninė dalis yra lygiai 0,5, CInt ir CLng visada ją suapvalina iki artimiausio lyginio skaičiaus. Pavyzdžiui, 0,5 apvalinama iki 0, o 1,5 apvalinama iki 2. Funkcija CInt ir CLng skiriasi nuo taisymo ir int funkcijų, kurios sutrumpina, o ne apvalią skaičiaus trupmeninę dalį. Be to, funkcija "Fix" ir " Int " visada pateikia to paties tipo reikšmę, kuri buvo perduota.

Naudokite funkciją IsDate norėdami nustatyti, ar datą galima konvertuoti į datą ar laiką. CDate atpažįsta datos literalus ir laiko literalus, taip pat kai kuriuos skaičius, kurie patenka į priimtinų datų diapazoną. Konvertuojant skaičių į datą, visa skaičiaus dalis konvertuojama į datą. Bet kokia skaičiaus trupmeninė dalis konvertuojama į dienos laiką, pradedant nuo vidurnakčio.

CDate atpažįsta datos formatus pagal sistemos lokalė parametrą. Tinkama dienos, mėnesio ir metų tvarka gali būti nenustatyta, jei jie pateikti kitu formatu, o ne vienu iš atpažintų datos parametrų. Be to, ilgos datos formatas neatpažįstamas, jei jame taip pat yra savaitės dienos eilutė.

CvDate funkcija taip pat pateikiama dėl suderinamumo su ankstesnėmis "Visual Basic" versijomis. Funkcijos CVDate sintaksė yra identiška funkcijai CDate , tačiau CVDate pateikia variantą , kurio potipis yra Data , o ne faktinį datos tipą. Kadangi dabar yra vidinis datos tipas, CVDate nebereikia. Tą patį efektą galima pasiekti konvertuojant reiškinį į datą, tada priskiriant jį variantui. Šis metodas atitinka visų kitų vidinių tipų konvertavimą į lygiaverčius varianto potipius.

Pastaba: Funkcija CDec nepateikia atskirų duomenų tipų; Vietoj to ji visada pateikia variantą , kurio reikšmė konvertuota į dešimtainį potipį.

Užklausų pavyzdžiai

Reiškinys

Rezultatai

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

Grąžina "SalePrice", "FinalPrice" ir įvertina, ar "SalePrice" yra didesnė už galutinę kainą. Grąžina "-1", jei teisinga, ir "0", jei klaidinga.

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

Pateikia "ProductID",konvertuoja lauko Kiekis reikšmes į baitų formatą ir stulpelyje Reiškinys1 pateikia "ProductID", konvertuoja lauko "Kiekis" reikšmes į valiutos formatą ir rodo stulpelyje Reiškinys1.

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

Pateikia "ProductID",konvertuoja lauko DateofSale reikšmes į datos formatą ir rodo stulpelyje Reiškinys1.

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

Pateikia "ProductID",konvertuoja lauko Nuolaida reikšmes į dvigubą formatą ir rodo stulpelyje Reiškinys1.

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

Grąžina "ProductID",konvertuoja lauko Nuolaida reikšmes į sveikojo skaičiaus formatą ir rodo stulpelyje Reiškinys1.

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

Grąžina "ProductID",konvertuoja lauko Nuolaida reikšmes į ilgojo formato ir rodo stulpelyje Reiškinys1.

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

Pateikia "ProductID",konvertuoja lauko Nuolaida reikšmes į vieną formatą ir rodo stulpelyje Išraiška1.

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

Pateikia "ProductID",konvertuoja lauko Nuolaida reikšmes į eilutės formatą ir rodo stulpelyje Reiškinys1.

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

Pateikia "ProductID",konvertuoja lauko Nuolaida reikšmes į dvigubą skaitinėms reikšmėms ir eilutę ne skaitinėms reikšmėms.

VBA pavyzdžiai

Pastaba: Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA žr. "Access" VBA nuoroda.

Funkcija CBool

Šiame pavyzdyje naudojama funkcija CBool reiškinio konvertavimui į Bulio logikos reikšmę. Jei reiškinys įvertina ne nulinę reikšmę, CBool grąžina True; kitu atveju ji grąžina 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.

Funkcija CByte

Šiame pavyzdyje naudojama funkcija CByte , kad konvertuotumėte reiškinį į baitą.

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

Funkcija CCur

Šiame pavyzdyje funkcija CCur naudojama išraiškai konvertuoti į valiutą.

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

Funkcija CDate

Šiame pavyzdyje naudojama funkcija CDate , kad būtų konvertuota eilutė į datą. Paprastai nerekomenduojama užprogramuoti datų ir laikų kaip eilučių (kaip parodyta šiame pavyzdyje). Naudokite datos literalus ir laiko raides, pvz., #2/12/1969# ir #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)

Funkcija CDbl

Šiame pavyzdyje naudojama funkcija CDbl reiškinio konvertavimui į dvigubą skaičių.

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

Funkcija CDec

Šiame pavyzdyje naudojama funkcija CDec, kad būtų galima konvertuoti skaitinę reikšmę į dešimtainį.

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

Funkcija CInt

Šiame pavyzdyje funkcija CInt naudojama reikšmei į sveikasis skaičius konvertuoti.

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

CLng funkcija

Šiame pavyzdyje funkcija CLng naudojama reikšmei į ilgąją konvertuoti.

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 funkcija

Šiame pavyzdyje funkcija CSng naudojama reikšmei į Vieną konvertuoti.

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.

Funkcija CStr

Šiame pavyzdyje naudojama funkcija CStr , kad būtų galima konvertuoti skaitinę reikšmę į eilutę.

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

Funkcija CVar

Šiame pavyzdyje funkcija CVar naudojama reiškinio konvertavimui į variantą.

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

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.