Kiekviena funkcija konvertuoja reiškinį į konkretų duomenų tipą.
Sintaksė
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
Būtinas expression argumentas yra bet kuris eilutės ar skaitinis reiškinys.
Grąžinimo tipai
Funkcijos pavadinimas nurodo grąžinimo tipą, kaip parodyta šioje lentelėje:
| Funkcija | Grąžinimo tipas | Argumentų diapazonas expression |
|---|---|---|
CBool |
Boolean |
Bet kuris galiojantis eilutės ar skaitinis reiškinys |
CByte |
Byte |
0 į 255. |
CCur |
Currency |
-922,337,203,685,477.5808 į 922,337,203,685,477.5807. |
CDate |
Date |
Bet kuris galiojantis datos reiškinys. |
CDbl |
Double |
-1.79769313486231E308TO – neigiamoms reikšmėms; 4.94065645841247E-324 TO -4.94065645841247E-3241.79769313486232E308 – teigiamoms reikšmėms. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 Skaičiams su nuliniu masteliu arba skaičiams be dešimtainių skyriklių vietų. Skaičių su 28 dešimtainėmis skiltimis diapazonas yra +/-7.9228162514264337593543950335. Mažiausias įmanomas nenulinis skaičius yra 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768 Iki 32,767; trupmenos suapvalinamos. |
CLng |
Long |
-2,147,483,648 Iki 2,147,483,647; trupmenos suapvalinamos. |
CSng |
Single |
-3.402823E38TO – neigiamoms reikšmėms; 1.401298E-45 TO -1.401298E-453.402823E38 – teigiamoms reikšmėms. |
CStr |
String |
Grąžinama reikšmė priklauso nuo argumento expression . |
CVar |
Variant |
Tas pats diapazonas kaip Double ir skaitinių reikšmių. Tas pats diapazonas kaip ir String neskaitinių reikšmių. |
Pastabos
Jei expression funkcijai perduoti duomenys yra už duomenų tipo, į kurį konvertuojate, diapazono ribų, įvyksta klaida.
Apskritai galite dokumentuoti kodą naudodami duomenų tipo konvertavimo funkcijas, kad parodytumėte, jog operacijos rezultatui turėtų būti naudojamas konkretus duomenų tipas, o ne numatytasis. Pavyzdžiui, naudokite CCur priverstinai skaičiuodami valiutos aritmetiką tais atvejais, kai paprastai naudojama viengubumo, dvigubo tikslumo ar sveikųjų skaičių aritmetika.
Naudokite duomenų tipo konvertavimo funkcijas užuot Val teikę lokalę atitinkančius konvertavimus iš vieno duomenų tipo į kitą. Pavyzdžiui, kai naudojate CCur, "Access" atpažįsta įvairius dešimtainių skaičių skyriklius, tūkstančių skyriklius ir valiutos parinktis, atsižvelgdama į jūsų kompiuterio lokalės parametrą.
Kai trupmeninė dalis yra tiksliai 0.5, CInt ir CLng visada suapvalinkite ją iki artimiausio lyginio skaičiaus. Pavyzdžiui, 0.5 suapvalina iki 0, o 1.5 apvalina iki 2.
CInt
CLng ir skiriasi nuo Fix funkcijų ANDInt, kurios sutrumpina skaičiaus trupmeninę dalį, o ne apvalina.
Fix
Int taip pat visada grąžinkite to paties tipo reikšmę, kurią perduodate.
Naudokite funkciją, IsDate kad nustatytumėte, ar date ją galima konvertuoti į datą ar laiką.
CDate Atpažįsta datos ir laiko literalus bei kai kuriuos skaičius, patenkančius į priimtinų datų diapazoną. Konvertavus skaičių į datą, sveikoji skaitinė dalis tampa data. Bet kuri trupmeninė dalis tampa paros laiku, prasidedančiu vidurnaktį.
CDate Atpažįsta datos formatus pagal jūsų sistemos lokalės parametrą. "Access" gali nenustatyti tinkamos dienos, mėnesio ir metų tvarkos, jei pateiksite formatą, kuris nėra vienas iš atpažintų datos parametrų. Be to, ji neatpažįsta ilgojo datos formato, jei joje yra ir savaitės dienos eilutė.
Šią CVDate funkciją taip pat galima naudoti dėl suderinamumo su ankstesnėmis "Visual Basic" versijomis. Sintaksė CVDate yra identiška funkcijai CDate . Tačiau CVDate pateikia a, Variant kurio potipis yra Date vietoj faktinio Date tipo. Kadangi "Access" dabar yra vidinis Date tipas, jums nebereikia CVDate. Tą patį efektą gausite konvertuodami reiškinį į "a Date " ir tada jį priskirdami Variant. Šis metodas yra suderinamas su kitų vidinių tipų konvertavimu į jų lygiaverčius Variant potipius.
Pastaba
Ši CDec funkcija nepateikia atskiro duomenų tipo. Vietoj to, ji visada grąžina duomenis Variant , kurių reikšmė konvertuota į potipį Decimal .
Užklausų pavyzdžiai
| Reiškinys | Rezultatai |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Grąžina SalePrice ir FinalPrice, ir įvertina, ar SalePrice yra daugiau nei FinalPrice. Grąžina -1 , jei tai teisinga ir 0 klaidinga. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Grąžina ProductID, konvertuoja lauko reikšmes Quantity į Byte, ir rodo jas Expr1 stulpelyje. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Grąžina ProductID, konvertuoja lauko reikšmes DateofSale į Date, ir rodo jas Expr1 stulpelyje. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Grąžina ProductID, konvertuoja lauko reikšmes Discount į Double, ir rodo jas Expr1 stulpelyje. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Grąžina ProductID, konvertuoja lauko reikšmes Discount į Integer, ir rodo jas Expr1 stulpelyje. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Grąžina ProductID, konvertuoja lauko reikšmes Discount į Long, ir rodo jas Expr1 stulpelyje. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Grąžina ProductID, konvertuoja lauko reikšmes Discount į Single, ir rodo jas Expr1 stulpelyje. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Grąžina ProductID, konvertuoja lauko reikšmes Discount į String, ir rodo jas Expr1 stulpelyje. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Grąžina ProductID, konvertuoja skaitines Discount reikšmes į Double, o neskaitines reikšmes – į String. |
VBA pavyzdžiai
Pastaba
Toliau pateikti pavyzdžiai, kaip naudoti šią funkciją "Visual Basic for Applications" (VBA) modulyje. Daugiau informacijos apie darbą su VBA ieškokite "Access" VBA nuorodoje.
Funkcija CBool
Šiame pavyzdyje naudojama CBool funkcija konvertuoti reiškinį į .Boolean Jei išraiška įvertina nenulinę reikšmę, CBool grąžina True; priešingu 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 CByte funkcija konvertuoti reiškinį į .Byte
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Funkcija CCur
Šiame pavyzdyje naudojama CCur funkcija konvertuoti reiškinį į .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).
Funkcija CDate
Šiame pavyzdyje naudojama CDate funkcija konvertuoti eilutę į .Date Apskritai nerekomenduojama datos ir laiko aparatūriškai koduoti kaip eilutes, kaip parodyta šiame pavyzdyje. Vietoj to naudokite datos ir laiko literalus, 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 CDbl funkcija konvertuoti reiškinį į .Double
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Funkcija CDec
Šiame pavyzdyje naudojama CDec funkcija konvertuoti skaitinę reikšmę į .Decimal
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Funkcija CInt
Šiame pavyzdyje naudojama CInt funkcija konvertuoti reikšmę į .Integer
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Funkcija CLng
Šiame pavyzdyje naudojama CLng funkcija reikšmei konvertuoti į .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.
Funkcija CSng
Šiame pavyzdyje naudojama CSng funkcija reikšmei konvertuoti į .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.
Funkcija CStr
Šiame pavyzdyje naudojama CStr funkcija konvertuoti skaitinę reikšmę į .String
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Funkcija CVar
Šiame pavyzdyje naudojama CVar funkcija konvertuoti reiškinį į .Variant
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.