Hver funksjon coerces an 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 obligatoriske uttrykketargument hvilken som helst strenguttrykk eller numerisk uttrykk.

Returtyper

Funksjonsnavnet bestemmer returtypen som vist i følgende:

Funksjon

Returtype

Område for uttrykksargument

CBool

Boolsk

En gyldig streng eller et numerisk uttrykk.

CByte

Byte

0 til 255.

CCur

Valuta

-922 337 203 685 477,5808 til 922 337 203 685 477,5807.

CDate

Dato

Et gyldig datauttrykk.

CDbl

Dobbel

-1,79769313486231E308 til
-4,94065645841247E-324 for negative verdier, og 4,94065645841247E-324 til 1,79769313486232E308 for positive verdier.

CDec

Desimal

+/-79 228 162 514 264 337 593 543 950 335 for nullskalerte tall, det vil si tall uten desimaler. For tall med 28 desimaler er området
+/-7,9228162514264337593543950335. Det minste mulige tallet som ikke er null, er 0,0000000000000000000000000001.

CInt

Heltall

-32 768 til 32 767; brøker avrundes.

CLng

Lang

-2 147 483 648 til 2 147 483 647; brøker avrundes.

CSng

Enkel

-3,402823E38 til -1,401298E-45 for negative verdier. 1,401298E-45 til 3,402823E38 for positive verdier.

CStr

Streng

Returnerer for CStr, avhenger av uttrykkets argument.

CVar

Variant

Samme spekter som Langt flyttall for numeriske verdier. Samme spekter som Streng for ikke-numeriske verdier.

Merknader

Hvis uttrykket som sendes til funksjonen, er utenfor området for datatypen det konverteres 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 uttrykkes som en bestemt datatype i stedet for standard datatype. Bruk for eksempel CCur til å tvinge aritmetiske valutaer i tilfeller der enkel presisjon, dobbel presisjon eller heltalls aritmetisk normalt ville forekomme.

Du bør bruke datatypekonverteringsfunksjonene i stedet for Val til å tilby internasjonalt oppmerksomme konverteringer fra én datatype til en annen. Når du for eksempel bruker CCur,gjenkjennes ulike skilletegn for desimaler, forskjellige tusenskilletegn og ulike valutaalternativer på riktig måte, avhengig av den nasjonale innstillingen på datamaskinen.

Når brøkdelen er nøyaktig 0,5, runder CInt og CLng alltid brøkdelen til nærmeste partall. 0,5 avrunder for eksempel til 0, og 1,5 avrunder til 2. CInt og CLng skiller seg fra Fix- og Int-funksjonene, som avkorter brøkdelen av et tall i stedet for en rund. Fix andInt returnerer også alltid en verdi av samme type som den som blir sendt inn.

Bruk IsDate-funksjonen til å fastslå om dato kan konverteres til en dato eller et klokkeslett. CDate gjenkjenner datolitteraler og tidslitteraler samt enkelte tall som faller innenfor området for godkjente datoer. Når du konverterer et tall til en dato, konverteres hele talldelen til en dato. Brøkdelen av tallet konverteres til et klokkeslett, fra midnatt.

CDate gjenkjenner datoformater i henhold nasjonal innstilling av systemets innstilling. Det kan hende at riktig rekkefølge av dag, måned og år ikke fastslås hvis det er angitt i et annet format enn en av innstillingene for gjenkjent dato. I tillegg gjenkjennes ikke et langt datoformat hvis det også inneholder dagen i uken-strengen.

En CVDate-funksjon er også tilgjengelig for kompatibilitet med tidligere versjoner av Visual Basic. Syntaksen for CVDate-funksjonen er identisk med CDate-funksjonen, men CVDate returnerer en variant der undertypen er Dato i stedet for en faktisk datotype. Siden det nå finnes en egen datotype, er det ikke lenger behov for CVDate. Du oppnår den samme effekten ved å konvertere et uttrykk til en dato, og deretter tilordne det til en variant. Denne teknikken samsvarer med konverteringen av alle andre innebygde typer til de tilsvarende Variant-undertypene.

Obs!:  CDec-funksjonen returnerer ikke en diskret datatype. I stedet returnerer den alltid en variant der verdien er konvertert til en desimalundertype.

Eksempler på spørring

Uttrykk

Resultater

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

Returnerer SalgPris, FinalPrice og evaluerer om SalePrice er større enn Endelig pris. Returnerer "-1" hvis sann og "0" hvis usann.

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

Returnerer ProduktID, konverterer verdiene i Antall-feltet til byte-format og vises i kolonneUttr1 returnerer ProduktID, konverterer verdiene i Antall-feltet til Valuta-format og vises i kolonneUttr1.

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

Returnerer ProduktID, konverterer verdiene i DateofSale-feltet til datoformat og vises i kolonneUttr1.

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

Returnerer ProduktID, konverterer verdiene i Rabatt-feltet til dobbeltformat og vises i kolonneUttr1.

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

Returnerer ProduktID, konverterer verdiene i Rabatt-feltet til heltallformat og vises i kolonneUttr1.

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

Returnerer ProduktID, konverterer verdiene i Rabatt-feltet til Langt format og vises i kolonneUttr1.

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

Returnerer ProduktID, konverterer verdiene i Rabatt-feltet til enkelt format og vises i kolonneUttr1.

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

Returnerer ProduktID, konverterer verdiene i «Rabatt»-feltet til strengformat og vises i kolonneUttr1.

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

Returnerer ProduktID, konverterer verdiene i Rabatt-feltet til Dobbel for numeriske verdier og Streng for ikke-numeriske verdier.

VBA-eksempler

Obs!: I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.

CBool, funksjon

Tips!:  Uttrykksverktøyet med IntelliSense som begynner i Access 2010, hjelper deg med å få uttrykkene riktig.

Dette eksemplet bruker CBool-funksjonen til å konvertere et uttrykk til en boolsk. Hvis uttrykket evalueres til en annen verdi enn null, returnerer CBoolSann; Ellers returneres Usann.

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 bruker CByte-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 bruker CCur-funksjonen til å konvertere et uttrykk 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).

CDate, funksjon

Dette eksemplet bruker CDate-funksjonen til å konvertere en streng til en dato. Hardkoding av datoer og klokkeslett som strenger (som vist i dette eksemplet) anbefales generelt sett. Bruk datolitteraler og tidslitteraler, for eksempel #2/12/1969# og #4:45:23#, 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 bruker CDbl-funksjonen til å konvertere et uttrykk til et langt flyttall.

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

CDec, funksjon

Dette eksemplet bruker CDec-funksjonen til å konvertere en numerisk verdi til en desimal.

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

CInt, funksjon

Dette eksemplet bruker CInt-funksjonen til å konvertere en verdi til et heltall.

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

CLng, funksjon

Dette eksemplet bruker CLng-funksjonen til å konvertere en verdi 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.

CSng,funksjon

Dette eksemplet bruker CSng-funksjonen til å konvertere en verdi til en enkel.

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 bruker CStr-funksjonen til å konvertere en numerisk verdi til en streng.

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

CVar, funksjon

Dette eksemplet bruker CVar-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.

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Office Insider-deltakere

Var denne informasjonen nyttig?

Hvor fornøyd er du med kvaliteten på oversettelsen?
Hva påvirket opplevelsen din?

Takk for tilbakemeldingen!

×