Hver funksjon konverterer et uttrykk til en bestemt datatype.
Syntaks
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
Det nødvendige expression argumentet er en hvilken som helst streng eller et numerisk uttrykk.
Returtyper
Funksjonsnavnet bestemmer returtypen, som vist i tabellen nedenfor:
| Funksjon | Returtype |
expression Argumentområde |
|---|---|---|
CBool |
Boolean |
Alle gyldige strenger eller numeriske uttrykk. |
CByte |
Byte |
0 til 255. |
CCur |
Currency |
-922,337,203,685,477.5808 til 922,337,203,685,477.5807. |
CDate |
Date |
Et gyldig datauttrykk. |
CDbl |
Double |
-1.79769313486231E308 til -4.94065645841247E-324 for negative verdier; 4.94065645841247E-324 til 1.79769313486232E308 for positive verdier. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 for nullskalerte tall, eller tall uten desimaler. For tall med 28 desimaler er +/-7.9228162514264337593543950335området . Det minste mulige ikke-null-tallet er 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768 til 32,767; brøker avrundes. |
CLng |
Long |
-2,147,483,648 til 2,147,483,647; brøker avrundes. |
CSng |
Single |
-3.402823E38 til -1.401298E-45 for negative verdier; 1.401298E-45 til 3.402823E38 for positive verdier. |
CStr |
String |
Returverdien avhenger expression av argumentet. |
CVar |
Variant |
Samme område som Double for numeriske verdier. Samme område som String for ikke-numeriske verdier. |
Merknader
Hvis sendt expression til funksjonen er utenfor området til datatypen du konverterer til, oppstår det en feil.
Generelt sett kan du dokumentere koden ved hjelp av datatypekonverteringsfunksjoner for å vise at resultatet av en operasjon bør bruke en bestemt datatype i stedet for standardtypen. Bruk for eksempel CCur til å fremtvinge valutaaritmetikk i tilfeller der enkel presisjon, dobbel presisjon eller heltallsaritmetikk normalt ville forekomme.
Bruk konverteringsfunksjonene for datatypen i stedet Val for å angi konverteringer med nasjonal innstilling fra én datatype til en annen. Når du for eksempel bruker CCur, gjenkjenner Access forskjellige desimalskilletegn, tusenskilletegn og valutaalternativer basert på datamaskinens nasjonale innstilling.
Når brøkdelen er nøyaktig 0.5, CInt og CLng alltid runde den av til nærmeste partall. Avrunder for eksempel 0.5 til , og 1.5 runder av til 20.
CInt og CLng avviker fra Fix funksjonene, Int som avkorter brøkdelen av et tall i stedet for å runde den av.
Fix og Int returnerer også alltid en verdi av samme type som du sender inn.
IsDate Bruk funksjonen til å bestemme om date den kan konverteres til en dato eller et klokkeslett.
CDate gjenkjenner datolitteraler og tidslitteraler, samt noen tall som faller innenfor området for akseptable datoer. Når du konverterer et tall til en dato, blir hele talldelen en dato. Enhver brøkdel blir et tidspunkt på dagen som starter ved midnatt.
CDate gjenkjenner datoformater i henhold til den nasjonale systeminnstillingen. Access bestemmer kanskje ikke riktig rekkefølge for dag, måned og år hvis du angir et annet format enn én av de gjenkjente datoinnstillingene. I tillegg gjenkjenner den ikke et langt datoformat hvis det også inneholder dag-i-uken-strengen.
Funksjonen CVDate er også tilgjengelig for kompatibilitet med tidligere versjoner av Visual Basic. Syntaksen CVDate for CDate er identisk med funksjonen. Returnerer imidlertid CVDate en Variant undertype som er Date i stedet for en faktisk Date type. Fordi Access nå inneholder en innebygd Date type, trenger CVDatedu ikke lenger . Du kan få samme effekt ved å konvertere et uttrykk til en Date og deretter tilordne det til en Variant. Denne teknikken samsvarer med konvertering av andre innebygde typer til tilsvarende Variant undertyper.
Obs!
Funksjonen CDec returnerer ikke en diskret datatype. I stedet returnerer den alltid en Variant verdi som er konvertert til en Decimal undertype.
Spørringseksempler
| Expression | Resultater |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Returnerer SalePrice og FinalPrice, og evaluerer om SalePrice det er større enn FinalPrice. Returnerer -1 hvis den er sann, og 0 hvis den er usann. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer verdiene i Quantity feltet til Byte, og viser dem i Expr1 kolonnen. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer verdiene i DateofSale feltet til Date, og viser dem i Expr1 kolonnen. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer verdiene i Discount feltet til Double, og viser dem i Expr1 kolonnen. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer verdiene i Discount feltet til Integer, og viser dem i Expr1 kolonnen. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer verdiene i Discount feltet til Long, og viser dem i Expr1 kolonnen. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer verdiene i Discount feltet til Single, og viser dem i Expr1 kolonnen. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer verdiene i Discount feltet til String, og viser dem i Expr1 kolonnen. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer numeriske Discount verdier til Double, og konverterer ikke-numeriske verdier til String. |
VBA-eksempler
Obs!
Eksemplene nedenfor viser hvordan du bruker denne funksjonen i en Visual Basic for Applications (VBA)-modul. Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, kan du se Access VBA-referansen.
CBool (funksjon)
Dette eksemplet CBool bruker funksjonen til å konvertere et uttrykk til en Boolean. Hvis uttrykket evalueres til en verdi som ikke er null, CBool returneres True, ellers returneres 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.
CByte (funksjon)
Dette eksemplet CByte bruker funksjonen til å konvertere et uttrykk til en Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
CCur(funksjon)
Dette eksemplet CCur bruker funksjonen til å konvertere et uttrykk til en 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).
CDate (funksjon)
Dette eksemplet CDate bruker funksjonen til å konvertere en streng til en Date. Vanligvis anbefales ikke hardkoding av datoer og klokkeslett som strenger, som vist i dette eksemplet. Bruk datolitteraler og tidslitteraler, for eksempel #2/12/1969# og #4:45:23 PM#, i stedet.
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)
CDbl (funksjon)
Dette eksemplet CDbl bruker funksjonen til å konvertere et uttrykk til en Double.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
CDec (funksjon)
Dette eksemplet CDec bruker funksjonen til å konvertere en numerisk verdi til en Decimal.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
CInt (funksjon)
Dette eksemplet CInt bruker funksjonen til å konvertere en verdi til en Integer.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
CLng (funksjon)
Dette eksemplet CLng bruker funksjonen til å konvertere en verdi til en 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.
CSng (funksjon)
Dette eksemplet CSng bruker funksjonen til å konvertere en verdi til en 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.
CStr (funksjon)
Dette eksemplet CStr bruker funksjonen til å konvertere en numerisk verdi til en String.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
CVar (funksjon)
Dette eksemplet CVar bruker funksjonen til å konvertere et uttrykk til en Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.