Hver funktion konverterer et udtryk 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 påkrævede expression argument er en streng eller et numerisk udtryk.
Returtyper
Funktionsnavnet bestemmer returtypen, som vist i følgende tabel:
| Funktion | Returtype | Område for expression argument |
|---|---|---|
CBool |
Boolean |
En gyldig streng eller et numerisk udtryk. |
CByte |
Byte |
0 til 255. |
CCur |
Currency |
-922,337,203,685,477.5808 til 922,337,203,685,477.5807. |
CDate |
Date |
Et gyldigt datoudtryk. |
CDbl |
Double |
-1.79769313486231E308 til -4.94065645841247E-324 for negative værdier, 4.94065645841247E-324 til 1.79769313486232E308 for positive værdier. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 for nulskalerede tal eller tal uden decimaler. For tal med 28 decimaler er +/-7.9228162514264337593543950335området . Det mindst mulige tal, der ikke er nul, er 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768 til 32,767; brøker afrundes. |
CLng |
Long |
-2,147,483,648 til 2,147,483,647; brøker afrundes. |
CSng |
Single |
-3.402823E38 til -1.401298E-45 for negative værdier, 1.401298E-45 til 3.402823E38 for positive værdier. |
CStr |
String |
Returværdien afhænger af argumentet expression . |
CVar |
Variant |
Samme område som Double for numeriske værdier. Samme område som String for ikke-numeriske værdier. |
Bemærkninger
Hvis den overførte expression til funktionen er uden for området for den datatype, du konverterer til, opstår der en fejl.
Generelt kan du dokumentere din kode ved hjælp af datatypekonverteringsfunktioner for at vise, at resultatet af en handling skal bruge en bestemt datatype i stedet for standardtypen. Brug f.eks. CCur til at gennemtvinge aritmetiske valuta i tilfælde, hvor enkeltpræcision, dobbeltpræcision eller heltalsudregning normalt ville forekomme.
Brug datatypekonverteringsfunktionerne i stedet for Val at levere konverteringer, der er baseret på landestandard, fra én datatype til en anden. Når du f.eks. bruger CCur, genkender Access forskellige decimalseparatorer, tusindtalsseparatorer og valutaindstillinger baseret på computerens landestandardindstilling.
Når decimaldelen er præcis 0.5, CInt og CLng den altid afrundes til det nærmeste lige tal. Afrunder f.eks 0.5 . til 0og 1.5 afrunder til 2.
CInt og CLng adskiller sig fra funktionerne Fix og Int , som afkorter decimaldelen af et tal i stedet for at afrunde det.
Fix og Int også altid returnere en værdi af samme type, som du videregiver.
Brug funktionen IsDate til at afgøre, om date kan konverteres til en dato eller et klokkeslæt.
CDate genkender datokonstanter og klokkeslætskonstanter samt nogle tal, der falder inden for området af acceptable datoer. Når du konverterer et tal til en dato, bliver hele taldelen en dato. Enhver decimaldel bliver et tidspunkt på dagen, der starter ved midnat.
CDate genkender datoformater i overensstemmelse med systemets indstilling for landestandard. Access bestemmer muligvis ikke den korrekte rækkefølge af dag, måned og år, hvis du angiver et andet format end et af de genkendte datoindstillinger. Desuden genkender den ikke et langt datoformat, hvis det også indeholder strengen dag i ugen.
Funktionen CVDate er også tilgængelig for kompatibilitet med tidligere versioner af Visual Basic. Syntaksen for CVDate er identisk med funktionen CDate . Returnerer dog enVariant, CVDate hvis undertype er Date i stedet for en faktisk Date type. Da Access nu indeholder en indbygget Date type, behøver CVDatedu ikke længere . Du kan få den samme effekt ved at konvertere et udtryk til en Date og derefter tildele det til en Variant. Denne metode er i overensstemmelse med konvertering af andre indbyggede typer til deres tilsvarende Variant undertyper.
Bemærk
Funktionen CDec returnerer ikke en separat datatype. I stedet returneres der altid en Variant værdi, hvis værdi er blevet konverteret til en Decimal undertype.
Forespørgselseksempler
| Udtryk | Resultater |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Returnerer SalePrice og , og evaluerer, om SalePrice er større end FinalPriceFinalPrice. Returnerer -1 , hvis det er sandt, og 0 hvis det er falsk. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer værdierne i feltet Quantity til Byteog viser dem i Expr1 kolonnen. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer værdierne i feltet DateofSale til Dateog viser dem i Expr1 kolonnen. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer værdierne i feltet Discount til Doubleog viser dem i Expr1 kolonnen. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer værdierne i feltet Discount til Integerog viser dem i Expr1 kolonnen. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer værdierne i feltet Discount til Longog viser dem i Expr1 kolonnen. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer værdierne i feltet Discount til Singleog viser dem i Expr1 kolonnen. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer værdierne i feltet Discount til Stringog viser dem i Expr1 kolonnen. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Returnerer ProductID, konverterer numeriske Discount værdier til Doubleog konverterer ikke-numeriske værdier til String. |
VBA-eksempler
Bemærk
Følgende eksempler viser, hvordan du bruger denne funktion i et VBA-modul (Visual Basic for Applications). Du kan finde flere oplysninger om at arbejde med VBA i Access VBA-referencen.
Funktionen CBool
I dette eksempel bruges funktionen CBool til at konvertere et udtryk til en Boolean. Hvis udtrykket evalueres til en værdi, der ikke er nul, 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.
Funktionen CByte
I dette eksempel bruges funktionen CByte til at konvertere et udtryk til en Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Funktionen CCur
I dette eksempel bruges funktionen CCur til at konvertere et udtryk 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).
Funktionen CDate
I dette eksempel bruges funktionen CDate til at konvertere en streng til en Date. Generelt anbefales hård kodning af datoer og klokkeslæt som strenge, som vist i dette eksempel, ikke. Brug datokonstanter og klokkeslætskonstanter, f.eks #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)
Funktionen CDbl
I dette eksempel bruges funktionen CDbl til at konvertere et udtryk til en Double.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Funktionen CDec
I dette eksempel bruges funktionen CDec til at konvertere en numerisk værdi til en Decimal.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Funktionen CInt
I dette eksempel bruges funktionen CInt til at konvertere en værdi til en Integer.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Funktionen CLng
I dette eksempel bruges funktionen CLng til at konvertere en værdi 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.
Funktionen CSng
I dette eksempel bruges funktionen CSng til at konvertere en værdi 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.
Funktionen CStr
I dette eksempel bruges funktionen CStr til at konvertere en numerisk værdi til en String.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Funktionen CVar
I dette eksempel bruges funktionen CVar til at konvertere et udtryk til en Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.