Tüübiteisendusfunktsioonid

Rakenduskoht
Microsoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

Iga funktsioon teisendab avaldise kindlaks andmetüübiks.

Süntaks

  • CBool(expression)
  • CByte(expression)
  • CCur(expression)
  • CDate(expression)
  • CDbl(expression)
  • CDec(expression)
  • CInt(expression)
  • CLng(expression)
  • CSng(expression)
  • CStr(expression)
  • CVar(expression)

Nõutav expression argument on mis tahes stringi- või arvuline avaldis.

Tagastustüübid

Funktsiooni nimi määratleb tagastustüübi, nagu on näidatud järgmises tabelis:

Funktsioon Return type expression Argumendi vahemik
CBool Boolean Mis tahes kehtiv stringi- või arvuline avaldis.
CByte Byte 0 kuni 255.
CCur Currency -922,337,203,685,477.5808 kuni 922,337,203,685,477.5807.
CDate Date Mis tahes kehtiv kuupäevaavaldis.
CDbl Double -1.79769313486231E308 negatiivsete -4.94065645841247E-324 väärtuste jaoks kuni 4.94065645841247E-3241.79769313486232E308 positiivsete väärtuste jaoks.
CDec Decimal +/-79,228,162,514,264,337,593,543,950,335 nullskaalaga arvude või kümnendkohtadeta arvude korral. Kümnendkohtadega 28 arvude puhul on +/-7.9228162514264337593543950335vahemik . Väikseim võimalik nullist väiksem arv on 0.0000000000000000000000000001.
CInt Integer -32,768 to 32,767; murrud ümardatakse.
CLng Long -2,147,483,648 to 2,147,483,647; murrud ümardatakse.
CSng Single -3.402823E38 negatiivsete -1.401298E-45 väärtuste jaoks kuni 1.401298E-453.402823E38 positiivsete väärtuste jaoks.
CStr String Tagastusväärtus sõltub argumendist expression .
CVar Variant Arvväärtustega sama Double vahemik. Mittearvuliste väärtustega sama String vahemik.

Kommentaarid

expression Kui funktsioonile edastatud andmetüüp jääb väljapoole teisendatava andmetüübi vahemikku, ilmneb tõrge.

Üldiselt saate oma koodi dokumenteerida andmetüübiteisendusfunktsioonide abil, et näidata, et toimingu tulem peaks kasutama vaiketüübi asemel kindlat andmetüüpi. Näiteks kasutage CCur valuuta aritmeetika jõustamiseks juhtudel, kus tavaliselt esineb ühetäpsusega, topelttäpsusega või täisarvuline aritmeetiline väärtus.

Lokaaditeadlike teisenduste ühest andmetüübist teise teisendamise asemel Val saate kasutada andmetüübiteisendusfunktsioone. Kui kasutate näiteks i CCur, tuvastab Access arvuti lokaadisätete põhjal erinevad kümnendkohtade eraldajad, tuhandeliste eraldajad ja valuutasuvandid.

Kui murdosa on täpselt 0.5, CInt ümardage CLng see alati lähima paarisarvuni. Näiteks 0.5 ümardatakse arvuks 0ja 1.5 ümardatakse arvuks 2. CInt ja CLng erinevad funktsioonidest FixInt , mis kärpivad arvu murdosa selle ümardamise asemel. Fix ja Int tagastab alati sama tüüpi väärtuse, mille sisestate.

IsDate Kasutage funktsiooni, et teha kindlaks, kas date saab teisendada kuupäevaks või kellaajaks. CDate tuvastab nii kuupäeva- ja kellaajaliteraale kui ka sobivate kuupäevade vahemikku jäävaid arve. Arvu teisendamisel kuupäevaks muutub kogu arvuosa kuupäevaks. Murdosa muutub kellaajaks, mis algab keskööst.

CDate tuvastab kuupäevavormingud vastavalt süsteemi lokaadisättele. Access ei pruugi määratleda päeva, kuu ja aasta õiget järjestust, kui esitate mõne muu vormingu kui üks tuvastatud kuupäevasätetest. Lisaks ei tuvasta see pikka kuupäevavormingut, kui see sisaldab ka nädalapäeva stringi.

See CVDate funktsioon on saadaval ka Visual Basicu varasemate versioonidega ühilduvuse tagamiseks. Funktsiooni süntaks CVDate on identne funktsiooniga CDate . Tagastab Variant siiski CVDate tegeliku tüübi asemel Date alamtüübiDate. Kuna Access sisaldab nüüd sisemist Date tüüpi, pole teil enam seda vaja CVDate. Sama efekti saate ka siis, kui teisendate avaldise a-ks Date ja määrate selle siis i.Variant See meetod on kooskõlas teiste olemuslike tüüpide teisendamisega nendega samaväärseteks Variant alamtüüpideks.

Märkus.

Funktsioon CDec ei tagasta eraldi andmetüüpi. Selle asemel tagastab see alati väärtuse Variant , mille väärtus on teisendatud alamtüübiks Decimal .

Päringu näited

Avaldis Tulemid
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; Tagastab SalePrice ja FinalPrice, ning hindab , kas SalePrice see on suurem kui FinalPrice. Tagastab, -1 kui see on tõene ja 0 kui see on väär.
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; Tagastab ProductIDväärtuse , teisendab välja väärtused väärtuseks ByteQuantity ja kuvab need veerusExpr1.
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; Tagastab ProductIDväärtuse , teisendab välja väärtused väärtuseks DateDateofSale ja kuvab need veerusExpr1.
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; Tagastab ProductIDväärtuse , teisendab välja väärtused väärtuseks DoubleDiscount ja kuvab need veerusExpr1.
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; Tagastab ProductIDväärtuse , teisendab välja väärtused väärtuseks IntegerDiscount ja kuvab need veerusExpr1.
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; Tagastab ProductIDväärtuse , teisendab välja väärtused väärtuseks LongDiscount ja kuvab need veerusExpr1.
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; Tagastab ProductIDväärtuse , teisendab välja väärtused väärtuseks SingleDiscount ja kuvab need veerusExpr1.
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; Tagastab ProductIDväärtuse , teisendab välja väärtused väärtuseks StringDiscount ja kuvab need veerusExpr1.
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; Tagastab ProductID, teisendab arvväärtused DiscountDoubleja mittearvulised väärtused väärtuseks String.

VBA näited

Märkus.

Järgmised näited kirjeldavad selle funktsiooni kasutamist moodulis Visual Basic for Applications (VBA). Lisateavet VBA-ga töötamise kohta leiate Accessi VBA viitest.

Funktsioon CBool

Selles näites CBool kasutatakse funktsiooni avaldise teisendamiseks vormingusse Boolean. Kui avaldis annab tulemiks nullist mittearvulise väärtuse, CBool tagastab tulemi True; muul juhul tagastab avaldise väärtuse 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.

Funktsioon CByte

Selles näites CByte kasutatakse funktsiooni avaldise teisendamiseks vormingusse Byte.

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

Funktsioon CCur

Selles näites CCur kasutatakse funktsiooni avaldise teisendamiseks vormingusse 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).

Funktsioon CDate

Selles näites CDate kasutatakse funktsiooni stringi teisendamiseks vormingusse Date. Üldiselt pole soovitatav kasutada püsikodeerimiskuupäevi ja -kellaaegu stringidena, nagu on näidatud selles näites. Kasutage selle asemel kuupäeva- ja kellaajaliteraale (nt #2/12/1969# ja #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)

Funktsioon CDbl

Selles näites CDbl kasutatakse funktsiooni avaldise teisendamiseks vormingusse Double.

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

Funktsioon CDec

Selles näites CDec kasutatakse funktsiooni arvväärtuse teisendamiseks arvuks Decimal.

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

Funktsioon CInt

Selles näites CInt kasutatakse funktsiooni väärtuse teisendamiseks vormingusse Integer.

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

Funktsioon CLng

Selles näites CLng kasutatakse funktsiooni väärtuse teisendamiseks vormingusse 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.

Funktsioon CSng

Selles näites CSng kasutatakse funktsiooni väärtuse teisendamiseks vormingusse 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.

Funktsioon CStr

Selles näites CStr kasutatakse funktsiooni arvväärtuse teisendamiseks arvuks String.

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

Funktsioon CVar

Selles näites CVar kasutatakse funktsiooni avaldise teisendamiseks vormingusse Variant.

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