Type konverteringsfunksjoner

Gjelder for
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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 enhver streng eller et numerisk uttrykk.

Returtyper

Funksjonsnavnet bestemmer returtypen, som vist i tabellen nedenfor:

Funksjon Returtype Område for expression argument
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 to -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 to -1.401298E-45 for negative verdier; 1.401298E-45 til 3.402823E38 for positive verdier.
CStr String Returverdien avhenger av argumentet expression .
CVar Variant Samme område som Double for numeriske verdier. Samme område som String for ikke-numeriske verdier.

Merknader

Hvis overført 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 konverteringsfunksjoner for datatyper for å vise at resultatet av en operasjon skal bruke en bestemt datatype i stedet for standardtypen. Bruk for eksempel CCur til å tvinge valutaaritmetikk i tilfeller der enkel presisjon, dobbel presisjon eller heltallsaritmetikk vanligvis forekommer.

Bruk konverteringsfunksjonene for datatypen i stedet Val for å levere konverteringer som er oppmerksomme på nasjonale innstillinger, fra én datatype til en annen. Når du for eksempel bruker CCur, gjenkjennes forskjellige desimalskilletegn, tusenskilletegn og valutaalternativer basert på datamaskinens nasjonale innstillinger.

Når brøkdelen er nøyaktig 0.5, CInt og CLng avrund den alltid til nærmeste partall. Avrunder for eksempel 0.5 til , og 1.5 avrunder til 20. CInt og CLng avviker fra AND-funksjonene FixInt , som avkorter brøkdelen av et tall i stedet for å runde det av. Fix og Int i tillegg alltid returnere en verdi av samme type som du sender inn.

Bruk IsDate funksjonen til å bestemme om date kan konverteres til en dato eller et klokkeslett. CDate Gjenkjenner datolitteraler og tidslitteraler, samt enkelte tall som faller innenfor området godkjente datoer. Når du konverterer et tall til en dato, blir hele talldelen til en dato. Enhver brøkdel blir et tidspunkt på dagen som starter ved midnatt.

CDate Gjenkjenner datoformater i henhold til de nasjonale innstillingene på systemet. Det kan hende at Access ikke bestemmer riktig rekkefølge for dag, måned og år hvis du angir et annet format enn en av de gjenkjente datoinnstillingene. Det gjenkjenner heller ikke et langt datoformat hvis det også inneholder dag-i-uke-strengen.

Funksjonen CVDate er også tilgjengelig for kompatibilitet med tidligere versjoner av Visual Basic. Syntaksen til CVDate er identisk med CDate funksjonen. Returnerer CVDate imidlertid en Variant der undertypen er Date i stedet for en faktisk Date type. Fordi Access nå inneholder en egentype Date , trenger CVDatedu ikke lenger . Du kan oppnå samme effekt ved å konvertere et uttrykk til et Date uttrykk og deretter tilordne det til et Variant. Denne teknikken er i samsvar med konverteringen av andre iboende typer til deres tilsvarende Variant undertyper.

Obs!

Funksjonen CDec returnerer ikke en atskilt datatype. I stedet returnerer den alltid en Variant hvis verdi er konvertert til en Decimal undertype.

Eksempler på spørringer

Expression Resultater
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; Returnerer SalePrice og FinalPrice, og evaluerer om SalePrice er større enn FinalPrice. Returnerer -1 hvis det er sant og 0 hvis det er usant.
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 VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, kan du se Access VBA-referansen.

CBool (funksjon)

I dette eksemplet brukes funksjonen CBool til å konvertere et uttrykk til et Boolean. Hvis uttrykket evalueres til en annen verdi enn 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)

I dette eksemplet brukes funksjonen CByte til å konvertere et uttrykk til et Byte.

Dim MyDouble, MyByte
MyDouble = 125.5678    ' MyDouble is a Double.
MyByte = CByte(MyDouble)    ' MyByte contains 126.

CCur (funksjon)

I dette eksemplet brukes funksjonen CCur til å konvertere et uttrykk til et 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).

CDaDem (funksjon)

Dette eksemplet bruker CDate funksjonen til å konvertere en streng til en Date. Generelt anbefales det ikke å hardkode datoer og klokkeslett som strenger, som vist i dette eksemplet. Bruk i stedet dato- 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)

I dette eksemplet brukes funksjonen CDbl til å konvertere et uttrykk til et Double.

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

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 en Integer.

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 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 bruker CSng 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 bruker CStr 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)

I dette eksemplet brukes funksjonen CVar til å konvertere et uttrykk til et Variant.

Dim MyInt, MyVar
MyInt = 4534    ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.