Funkcije za pretvarjanje podatkovnih tipov
Applies ToAccess za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vsaka funkcija vsili izraz na določen podatkovni tip.

Sintaksa

CBool( izraz )

CByte( izraz )

CCur( izraz )

CDate( izraz )

CDbl( izraz )

CDec( izraz )

CInt( izraz )

CLng( izraz )

CSng( izraz )

CStr( izraz )

CVar( izraz )

Zahtevani izrazargument je kateri koli izraz niza ali številski izraz.

Tipi vrnitve

Ime funkcije določa tip vrnitve, kot je prikazano spodaj:

Funkcija

Tip vrnitve

Obseg za argument izraza

CBool

Logična vrednost

Kateri koli veljaven niz ali številski izraz.

CByte

Bajt

od 0 do 255.

CCur

Valuta

-922,337,203,685,477.5808 do 922,337,203,685,477.5807.

CDate

Datum

Kateri koli veljaven izraz datuma.

CDbl

Dvojno

-1.79769313486231E308 za -4.94065645841247E-324 za negativne vrednosti; 4.94065645841247E-324 do 1.79769313486232E308 za pozitivne vrednosti.

CDec

Desetiško

+/-79,228,162,514,264,337,593,543,950,335 za števila z ničelno velikostjo, to je števila brez decimalnih mest. Za števila z 28 decimalnimi mesti je obseg +/-7.9228162514264337593543950335. Najmanjše možno neničelno število je 0,000000000000000000000000000000000001.

CInt

Cela števila

-32,768 do 32,767; ulomki se zaokrožijo.

CLng

Dolgo

-2,147,483,648 do 2,147,483,647; ulomki se zaokrožijo.

CSng

Enojno

-3.402823E38 to -1.401298E-45 za negativne vrednosti; 1.401298E-45 to 3.402823E38 za pozitivne vrednosti.

CStr

Niz

Vrne za CStr glede na argument izraza.

CVar

Različica

Enak obseg kot ga ima izraz Dvojnoza števila. Enak obseg kot Niz za neštevila.

Opombe

Če je izraz, podan v funkciji, zunaj obsega podatkovnega tipa, ki se pretvarja, pride do napake.

Na splošno lahko kodo dokumentirate s funkcijami za pretvorbo podatkovnih tipov in prikažete, da mora biti rezultat neke operacije izražen kot določen podatkovni tip, namesto kot privzeti podatkovni tip. Uporabite na primer funkcijo CCur, da izsilite računanje valute v primerih, kjer bi običajno prišlo do računanja enojne natančnosti, dvojne natančnosti ali celega števila.

Uporabite funkcije za pretvorbo podatkovnega tipa namesto funkcije Val, da zagotovite mednarodne značilnosti pretvorbe iz enega podatkovnega tipa v drugega. Na primer, ko uporabite funkcijo CCur, se ustrezno prepoznajo različna decimalna ločila, različna ločila za tisočice in druge možnosti za valuto glede na področne nastavitve računalnika.

Ko je neceli del natančno 0,5, ga funkciji CInt in CLng vedno zaokrožita na najbližje sodo število. Na primer, 0,5 se zaokroži na 0, 1,5 pa na 2. Funkciji CInt in CLng se razlikujeta od funkcij Fix in Int, ki neceli del števila prej prirezujeta kot zaokrožujeta. Poleg tega funkciji Fix in Int vedno vrneta vrednost istega tipa kot je bila podana.

Uporabite funkcijo IsDate, da ugotovite, ali je datum mogoče pretvoriti v datum ali čas. Funkcija CDate prepozna datumske in časovne nize ter nekatere črke, ki so v obsegu sprejemljivih datumov. Ko pretvorite število v datum, se del s celim številom pretvori v datum. Neceli del števila se pretvori v čas z začetkom ob polnoči.

CDate prepozna oblike datuma v skladu z mesto vašega sistema. Pravilen vrstni red dni, mesecev in let ni določen, če je naveden v drugi obliki zapisa, kot je ena od prepoznanih nastavitev datuma. Poleg tega dolga oblika zapisa datuma ni prepoznana, če vsebuje tudi niz »dan v tednu«.

Funkcija CVDate je na voljo tudi za združljivost s prejšnjimi različicami programa Visual Basic. Sintaksa funkcije CVDate je enaka funkciji CDate, pri čemer CVDate vrne Različico, katere podtip je Datum, namesto dejanskega tipa Datum. Ker je zdaj na voljo notranji podatkovni tip Datum, funkcija CVDate ni več potrebna. Enak učinek je mogoče doseči tako, da izraz pretvorite v Datum in ga nato dodelite Različici. Ta postopek je skladen s pretvorbo vseh drugih notranjih tipov v enakovredne podtipe Različice.

Opomba:  Funkcija CDec ne vrne ločenega podatkovnega tipa; namesto tega vedno vrne Različico, katere vrednost je bila pretvorjena v podtip Desetiško.

Primeri poizvedb

Izraz

Rezultati

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

Vrne »CenaProdaje«, »KončnaCena« in oceni, ali je cenaProdaje večja od končne cene. Vrne »-1«, če je vrednost »true« in »0«, če je argument »false«.

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

Vrne »IDizdelka«, pretvori vrednosti v polju »Količina« v bajte in prikaže v stolpcu Expr1 Vrne »IDizdelka«, pretvori vrednosti v polju »Količina« v obliko »Valuta« in je prikazan v stolpcu Expr1.

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

Vrne »IDizdelka«, pretvori vrednosti v polju »DateofSale« v obliko datuma in prikaže v stolpcu Expr1.

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

Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v dvojno obliko in prikaže v stolpcu Expr1.

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

Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v obliko celega števila in prikaže v stolpcu Expr1.

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

Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v dolgo obliko in prikaže v stolpcu Expr1.

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

Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v eno obliko in prikaže v stolpcu Expr1.

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

Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v obliko zapisa Niz in prikaže v stolpcu Expr1.

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

Vrne »IDizdelka«, pretvori vrednosti v polju »Popust« v dvojno za številske vrednosti in Niz za neštevilske vrednosti.

Primeri VBA

Opomba: V spodnjih primerih je prikazana uporaba te funkcije v modulu Visual Basic for Applications (VBA). Če želite več informacij o delu s kodo VBA, glejte Referenca za Access VBA.

Funkcija CBool

V tem primeru je uporabljena funkcija CBool za pretvorbo izraza v logično vrednost. Če je izraz ovrednoten kot neničelna vrednost CBool vrne True; v nasprotnem primeru vrne 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

V tem primeru je uporabljena funkcija CByte za pretvorbo izraza v bajt.

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

Funkcija CCur

V tem primeru je uporabljena funkcija CCur za pretvorbo izraza v valuto.

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

V tem primeru je uporabljena funkcija CDate za pretvorbo niza v datum. Na splošno zakodiranje datumov in časa kot nizov (kot je prikazano v tem primeru) ni priporočeno. Namesto tega uporabite datumske in časovne nize, na primer #2/12/1969 # in #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

V tem primeru je uporabljena funkcija CDbl za pretvorbo izraza v dvojno.

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

Funkcija CDec

V tem primeru je uporabljena funkcija CDec za pretvorbo številske vrednosti v desetiško.

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

Funkcija CInt

V tem primeru je uporabljena funkcija CInt a pretvorbo vrednosti v celo število.

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

Funkcija CLng

V tem primeru je uporabljena funkcija CLng a pretvorbo vrednosti v dolgo.

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

V tem primeru je uporabljena funkcija CSng a pretvorbo vrednosti v enojno.

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

V tem primeru je uporabljena funkcija CStr za pretvorbo številske vrednosti v niz.

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

Funkcija CVar

V tem primeru je uporabljena funkcija CVar za pretvorbo izraza v različico.

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

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.

Skupnosti vam pomagajo postaviti vprašanja in odgovoriti nanje, posredovati povratne informacije in prisluhniti strokovnjakom z bogatim znanjem.