Svaka funkcija konvertuje izraz u određeni tip podataka.
Sintaksa
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
Obavezni expression argument je bilo koja niska ili numerički izraz.
Tipovi povraćaja
Ime funkcije određuje tip dobijenog lista, kao što je prikazano u sledećoj tabeli:
| Funkcija | Tip povraćaja | Opseg argumenta expression |
|---|---|---|
CBool |
Boolean |
Bilo koja važeća niska ili numerički izraz. |
CByte |
Byte |
0 za 255. |
CCur |
Currency |
-922,337,203,685,477.5808 za 922,337,203,685,477.5807. |
CDate |
Date |
Bilo koji važeći izraz datuma. |
CDbl |
Double |
-1.79769313486231E308 Na -4.94065645841247E-324 za negativne vrednosti, 4.94065645841247E-324 na 1.79769313486232E308 za pozitivne vrednosti. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 za brojeve bez decimalnih mesta ili za brojeve bez decimalnih mesta. Za brojeve sa decimalnim 28 mestima, opseg je +/-7.9228162514264337593543950335. Najmanji mogući broj različit od nule je 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768
32,767na ; razlomci se zaokružuju. |
CLng |
Long |
-2,147,483,648
2,147,483,647na ; razlomci se zaokružuju. |
CSng |
Single |
-3.402823E38 Na -1.401298E-45 za negativne vrednosti, 1.401298E-45 na 3.402823E38 za pozitivne vrednosti. |
CStr |
String |
Povratna vrednost zavisi od argumenta expression . |
CVar |
Variant |
Isti opseg kao Double za numeričke vrednosti. Isti opseg kao String za vrednosti koje nisu numeričke. |
Napomene
Ako je poruka expression prosleđena funkciji izvan opsega tipa podataka u koji konvertujete, dobija se greška.
Kôd obično možete dokumentovati pomoću funkcija za konverziju tipa podataka da biste pokazali da rezultat operacije treba da koristi određeni tip podataka umesto podrazumevanog. Na primer, koristite da CCur biste nametnuli aritmetiku valute u slučajevima kada bi se obično javljala aritmetika sa jednom preciznošću, dvostrukom preciznošću ili aritmetikom celog broja.
Koristite funkcije za konverziju tipa podataka umesto Val da biste obezbedili konverzije u skladu sa lokalnim standardom iz jednog tipa podataka u drugi. Na primer, kada koristite CCur, Access prepoznaje različite znakove za razdvajanje decimala, znakove za razdvajanje hiljada i opcije valute na osnovu postavke lokalnog standarda računara.
Kada je razlomljeni deo tačan 0.5CInt , i CLng uvek ga zaokružujte na najbliži paran broj. Na primer, 0.5 zaokružuje na 0, a 1.5 zaokružuje na 2.
CInt i CLng razlikuju se od Fix funkcija AND Int , koje odsecaju decimalni deo broja umesto da ga zaokružuju.
Fix Takođe uvek Int vraćaju vrednost istog tipa koju prosleđujete.
Koristite funkciju IsDate da biste odredili da li date se može konvertovati u datum ili vreme.
CDate Prepoznaje doslovne datume i literale vremena, kao i neke brojeve koji se nalaze u opsegu prihvatljivih datuma. Kada broj konvertujete u datum, deo celog broja postaje datum. Bilo koji razlomljeni deo postaje doba dana koje počinje u ponoć.
CDate Prepoznaje formate datuma u skladu sa postavkom lokalnog standarda sistema. Access možda neće odrediti tačan redosled dana, meseca i godina ako navedete format koji nije jedna od priznatih postavki datuma. Pored toga, on ne prepoznaje dugački format datuma ako sadrži i nisku dana u sedmici.
Funkcija CVDate je dostupna i zbog kompatibilnosti sa starijim verzijama programa Visual Basic. Sintaksa je CVDate identična funkciji CDate . Međutim, CVDate vraća a Variant čiji je podtip umesto Date stvarnog Date tipa. Pošto Access sada uključuje neodvojivi Date tip, više vam nije potreban CVDate. Isti efekat možete dobiti tako što ćete izraz konvertovati u a Date zatim ga dodeliti Variant. Ova tehnika je u skladu sa konverzijom drugih suštinskih tipova u njihove ekvivalentne Variant podtipove.
Napomena
Funkcija CDec ne daje diskretni tip podataka. Umesto toga, uvek vraća vrednost čiji Variant je podtip konvertovana Decimal u podtip.
Primeri upita
| Izraz | Rezultati |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Daje SalePrice i FinalPrice, i procenjuje da li SalePrice je veće od FinalPrice. Vraća -1 ako je istina i 0 ako je netačno. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Daje ProductID, konvertuje vrednosti u polju Quantity u Byte, i prikazuje ih u Expr1 koloni. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Daje ProductID, konvertuje vrednosti u polju DateofSale u Date, i prikazuje ih u Expr1 koloni. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Daje ProductID, konvertuje vrednosti u polju Discount u Double, i prikazuje ih u Expr1 koloni. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Daje ProductID, konvertuje vrednosti u polju Discount u Integer, i prikazuje ih u Expr1 koloni. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Daje ProductID, konvertuje vrednosti u polju Discount u Long, i prikazuje ih u Expr1 koloni. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Daje ProductID, konvertuje vrednosti u polju Discount u Single, i prikazuje ih u Expr1 koloni. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Daje ProductID, konvertuje vrednosti u polju Discount u String, i prikazuje ih u Expr1 koloni. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Daje ProductID, konvertuje numeričke Discount vrednosti u Double, a konvertuje nenumeričke vrednosti u String. |
VBA primeri
Napomena
Sledeći primeri pokazuju kako se ova funkcija koristi u Visual Basic for Applications (VBA) modulu. Više informacija o radu sa VBA modulom potražite u Access VBA referenci.
Funkcija CBool
Ovaj primer koristi funkciju CBool za konvertovanje izraza u Boolean. Ako izraz daje vrednost različitu od nule, CBool daje True; u suprotnom, daje 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
Ovaj primer koristi funkciju CByte za konvertovanje izraza u Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Funkcija CCur
Ovaj primer koristi funkciju CCur za konvertovanje izraza u 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
Ovaj primer koristi funkciju CDate za konvertovanje niske u Date. Uopšte uzev, ne preporučuje se upisivanje datuma i vremena kao niski, kao što je prikazano u ovom primeru. Umesto toga koristite literale datuma i literale vremena, kao što su #2/12/1969# i #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
Ovaj primer koristi funkciju CDbl za konvertovanje izraza u Double.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Funkcija CDec
Ovaj primer koristi funkciju CDec za konvertovanje numeričke vrednosti u .Decimal
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Funkcija CInt
Ovaj primer koristi funkciju CInt za konvertovanje vrednosti u Integer.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Funkcija CLng
Ovaj primer koristi funkciju CLng za konvertovanje vrednosti u 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
Ovaj primer koristi funkciju CSng za konvertovanje vrednosti u 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
Ovaj primer koristi funkciju CStr za konvertovanje numeričke vrednosti u .String
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Funkcija CVar
Ovaj primer koristi funkciju CVar za konvertovanje izraza u Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.