Applies ToAccess til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Hver funktion tvinger et udtryk til en bestemt datatype.

Syntaks

CBool( udtryk )

CByte( udtryk )

CCur( udtryk )

CDate( udtryk )

CDbl( udtryk )

CDec( udtryk )

CInt( udtryk )

CLng( udtryk )

CSng( udtryk )

CStr( udtryk )

CVar( udtryk )

Det påkrævede udtrykargument er et hvilket som helst strengudtryk eller numerisk udtryk.

Returtyper

Funktionsnavnet bestemmer returtypen, sådan som det er vist i følgende:

Funktion

Returtype

Område for argumentet udtryk

CBool

Boolesk værdi

En gyldig streng eller et numerisk udtryk.

CByte

Byte

0 til 255.

CCur

Valuta

-922.337.203.685.477,5808 til 922.337.203.685.477,5807.

CDate

Dato

Et gyldigt datoudtryk.

CDbl

Dobbelt

-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, dvs. tal uden decimaler. For tal med 28 decimaler er området +/-7.9228162514264337593543950335. Det mindst mulige tal, der ikke er nul, er 0,00000000000000000000000000001.

CInt

Heltal

-32.768 til 32.767. Decimaler afrundes.

CLng

Lang

-2.147.483.648 til 2.147.483.647. Decimaler afrundes.

CSng

Enkelt

-3,402823E38 til -1,401298E-45 for negative værdier og 1,401298E-45 til 3,402823E38 for positive værdier.

CStr

Streng

Returnering for CStr afhænger af argumentet udtryk.

CVar

Variant

Samme område som Dobbelt for numeriske udtryk. Samme område som Streng for ikke-numeriske udtryk.

Bemærkninger

Hvis det udtryk, der videregives til funktionen er uden for området for den datatype, der konverteres til, opstår der en fejl.

Generelt kan du dokumentere din kode ved hjælp af datatypekonverteringsfunktionerne for at vise, at resultatet af en handling skal udtrykkes som en bestemt datatype i stedet for standarddatatypen. Brug f.eks . CCur til at gennemtvinge aritmetisk valuta i tilfælde, hvor enkeltpræcision, dobbeltpræcision eller heltalsudregning normalt ville forekomme.

Du bør bruge datatypekonverteringsfunktionerne i stedet for Val til at levere internationalt bevidste konverteringer fra én datatype til en anden. Når du f.eks. bruger CCur, genkendes forskellige decimalseparatorer, forskellige tusindtalsseparatorer og forskellige valutaindstillinger korrekt afhængigt af computerens landestandardindstilling.

Når decimaldelen er nøjagtigt 0,5, afrunder CInt og CLng altid til det nærmeste lige tal. Eksempelvis afrundes 0,5 til 0, og 1,5 afrundes til 2. CInt og CLng adskiller sig fra funktionerne RET og HELTAL, som afkorter i stedet for at afrunde et tals decimaldel. Desuden returnerer RET og Heltal altid en værdi af samme type, som videregives i.

Brug funktionen IsDate til at afgøre, om dato 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 gyldige datoer. Når du konverterer et tal til en dato, konverteres hele taldelen til en dato. En hvilken som helst decimaldel i tallet konverteres til et tidspunkt på dagen, startende ved midnat.

CDate genkender datoformater i henhold til systemets indstilling for lokal. Den rigtige rækkefølge i dag, måned og år kan muligvis ikke bestemmes, hvis det er angivet i et andet format end et af de genkendte datoindstillinger. Desuden genkendes et langt datoformat ikke, hvis det også indeholder strengen for dag i ugen.

Der leveres også en CVDate-funktion med henblik på at sikre kompatibilitet med tidligere versioner af Visual Basic. Syntaksen for funktionen CVDate er identisk med funktionen CDate, men CVDate returnerer en Variant med undertypen Dato i stedet for en faktisk Dato-type. Da der nu er en indbygget Dato-type, er der ikke længere brug for CVDate. Den samme effekt kan opnås ved at konvertere et udtryk til en Dato, og derefter tildele den til en Variant. Denne metode er i overensstemmelse med konvertering af alle andre typer, der er indbygget i deres tilsvarende Variant-undertyper.

Bemærk!:  Funktionen CDec returnerer ikke en diskret datatype. I stedet returneres der altid en Variant, hvis værdi er blevet konverteret til undertypen Decimal.

Forespørgselseksempler

Udtryk

Resultater

SELECT SalgPris,EndeligePris,CBool(SalgPris>EndeligePris) AS Udtryk1 FRA produktSalg;

Returnerer "SalePrice", "FinalPrice" og evaluerer, om SalePrice er større end Slutpris. Returnerer "-1", hvis sand, og "0", hvis falsk.

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

Returnerer "Produkt-id",konverterer værdierne i feltet "Antal" til byteformat og vises i kolonne Udtryk1 Returnerer "Produkt-id", konverterer værdierne i feltet "Antal" til valutaformat og vises i kolonne Udtryk1.

SELECT ProductID, CDate(DateofSale) AS Udtryk1 FROM productSales;

Returnerer "ProductID",konverterer værdierne i feltet "DateofSale" til datoformat og vises i kolonne Udtryk1.

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

Returnerer "Produkt-id", konverterer værdierne i feltet "Rabat" til dobbeltformat og vises i kolonne Udtryk1.

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

Returnerer "ProductID", konverterer værdierne i feltet "Rabat" til heltalsformat og vises i kolonne Udtryk1.

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

Returnerer "Produkt-id",konverterer værdierne i feltet "Rabat" til langt format og vises i kolonne Udtryk1.

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

Returnerer "Produkt-id", konverterer værdierne i feltet "Rabat" til enkeltformat og vises i kolonne Udtryk1.

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

Returnerer "Produkt-id",konverterer værdierne i feltet "Rabat" til Strengformat og vises i kolonne Udtryk1.

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

Returnerer "ProductID",konverterer værdierne i feltet "Rabat" til Dobbelt for numeriske værdier og Streng for ikke-numeriske værdier.

VBA-eksempler

Bemærk!: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Du kan finde flere oplysninger om at arbejde med VBA i Access VBA-reference.

Funktionen CBool

I dette eksempel bruges funktionen CBool til at konvertere et udtryk til en boolesk værdi. Hvis udtrykket evalueres til en værdi, som ikke er nul, returnerer CBoolSAND, og ellers returneres FALSK.

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 valuta.

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 dato. 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. #12-02-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 dobbelt.

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 et heltal.

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 lang.

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 enkelt.

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 streng.

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.

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.