Applies ToAccess för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Varje funktion framtvingar en uttryck för en viss datatyp.

Syntax

KonvBool( uttryck )

KonvByte( uttryck )

KonvVal( uttryck )

KonvDatum( uttryck )

KonvDbl( uttryck )

CDec( uttryck )

KonvHel( uttryck )

KonvLng( uttryck )

KonvEnl( uttryck )

KonvStr( uttryck )

KonvVar( uttryck )

Det obligatoriska uttryckargument är valfri stränguttryck eller numeriskt uttryck.

Returtyper

Funktionsnamnet bestämmer returtypen enligt följande:

Funktion

Returtyp

Intervall för argument för uttryck

KonvBool

Boolean

Alla giltiga strängar och numeriska uttryck.

KonvByte

Byte

0 till 255

KonvVal

Currency

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

KonvDatum

Date

Ett giltigt datumuttryck.

KonvDbl

Double

-1,79769313486231E308 till -4,94065645841247E-324 för negativa värden. 4.94065645841247E-324 till 1,79769313486232E308 för positiva värden.

CDec

Decimal

+/-79 228 162 514 264 337 593 543 950 335 för nollskalade tal, d.v.s. tal utan decimaler. För tal med 28 decimaler är intervallet +/-7.9228162514264337593543950335. Det minsta möjliga talet som inte är noll är 0,000000000000000000000000000001.

KonvHel

Integer

-32 768 till 32 767. Decimaler avrundas.

KonvLng

Long

-2 147 483 648 till 2 147 483 647. Decimaler avrundas.

KonvEnl

Single

-3,402823E38 till -1,401298E-45 för negativa värden och 1,401298E-45 till 3,402823E38 för positiva värden.

KonvStr

String

Returvärden för KonvStr beror på argumentet uttryck.

KonvVar

Variant

Samma intervall som Double för numeriska värden. Samma intervall som Sträng för icke-numeriska värden.

Anmärkningar

Om uttryck som skickas till funktionen ligger utanför intervallet för den datatyp som det ska konverteras till uppstår ett fel.

I allmänhet kan du dokumentera din kod genom att använda konverteringsfunktioner för datatyper för att visa att resultatet av en åtgärd ska uttryckas som en specifik datatyp i stället för standarddatatypen. Du kan till exempel använda KonvVal för att påtvinga valutaberäkningar i fall där det normalt skulle användas beräkningar med enkel precision, dubbel precision eller heltal.

Du bör använda konverteringsfunktioner för datatyper i stället för TeckenNum för att tillhandahålla konverteringar från en datatyp till en annan som fungerar i olika länder. När du till exempel använder KonvVal, olika decimaltecken, olika tusentalsavgränsare och olika valutaalternativ identifieras de korrekt enligt de nationella inställningarna på datorn.

Om decimaldelen är exakt 0,5 avrundar KonvHel och KonvLng alltid till närmaste jämna tal. Till exempel avrundas 0,5 till 0 och 1,5 till 2. KonvHel och KonvLng skiljer sig från funktionerna Fasttal och Heltal, som avkortar, inte avrundar, decimaldelen av ett tal. Fasttal och Heltal returnerar också alltid ett värde av samma typ som det som skickats till funktionen.

Använd funktionen ÄrDatum för att avgöra om datum kan konverteras till datum eller klockslag. KonvDatum identifierar både datumformat, tidformat och vissa tal som faller inom intervallet för godtagbara datum. När ett tal konverteras till ett datum konverteras hela heltalsdelen till ett datum. Eventuell decimaldel konverteras till ett klockslag, räknat från midnatt.

KonvDatum identifierar datumformats enligt inställningen språk på datorn. Korrekt ordning på dag, månad och år kanske inte går att avgöra om det anges i ett annat format än någon av de korrekta inställningarna för datum. Dessutom kan ett långt datumformat inte identifieras om det även innehåller en veckodagssträng.

Funktionen KonvVDatum tillhandahålls också för kompatibilitet med tidigare versioner av Visual Basic. Funktionen KonvVDatum har exakt samma syntax som funktionen KonvDatum, men KonvVDatum returnerar datatypen Variant med undertypen Date i stället för datatypen Date. Eftersom det numera finns en inbyggd Date-datatyp finns det inte längre något behov av KonvVDatum. Samma effekt kan uppnås genom att konvertera ett uttryck till Date och sedan tilldela det datatypen Variant. Denna teknik är konsekvent med konvertering av alla andra inbyggda datatyper till motsvarande Variant-undertyper.

Obs!:  Funktionen CDec returnerar inte en diskret datatyp. I stället returneras alltid en Variant vars värde har konverterats till undertypen Decimal.

Frågeexempel

Uttryck

Resultat

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

Returnerar "SalePrice", "FinalPrice" och utvärderar om SalePrice är större än slutpriset. Returnerar "-1" om sant och "0" om falskt.

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

Returnerar "ProductID",konverterar värdena i fältet Antal till byteformat och visar i kolumnen Uttr1 Returnerar "Produktnr",konverterar värdena i fältet Antal till Valutaformat och visas i kolumn Uttr1.

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

Returnerar "ProductID", konverterar värdena i fältet "DateofSale" till Datumformat och visar i kolumn Uttr1.

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

Returnerar "ProductID",konverterar värdena i fältet "Rabatt" till Dubbelt format och visas i kolumn Uttr1.

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

Returnerar "ProductID",konverterar värdena i fältet "Rabatt" till Heltalsformat och visas i kolumn Uttr1.

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

Returnerar "ProductID",konverterar värdena i fältet "Rabatt" till Långt format och visas i kolumn Uttr1.

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

Returnerar "ProductID",konverterar värdena i fältet "Rabatt" till Enskilt format och visas i kolumn Uttr1.

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

Returnerar "ProductID",konverterar värdena i fältet "Rabatt" till strängformat och visas i kolumn Uttr1.

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

Returnerar "ProductID",konverterar värdena i fältet "Rabatt" till Double för numeriska värden och Sträng för icke-numeriska värden.

VBA-exempel

Obs!: I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Mer information om hur du arbetar med VBA finns i Access VBA Reference.

Funktionen KonvBool

Det här exemplet använder funktionen KonvBool för att konvertera ett uttryck till datatypen Boolean. Om uttrycket utvärderas till ett nollskilt värde returnerar KonvBoolSant, annars returneras Falskt.

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 KonvByte

Det här exemplet använder funktionen KonvByte för att konvertera ett uttryck till datatypen Byte.

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

Funktionen KonvVal

Det här exemplet använder funktionen KonvVal för att konvertera ett uttryck till datatypen 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 KonvDatum

Det här exemplet använder funktionen KonvDatum för att konvertera ett uttryck till datatypen Date. I allmänhet rekommenderas det inte att hårdkoda datum och klockslag som strängar (som i det här exemplet). Använd i stället datum- och tidformat som #1969-02-12# och #16:45:23#.

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 KonvDbl

Det här exemplet använder funktionen KonvDbl för att konvertera ett uttryck till datatypen Double.

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

Funktionen CDec

Det här exemplet använder funktionen CDec för att konvertera ett numeriskt värde till datatypen Decimal.

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

Funktionen KonvHel

Det här exemplet använder funktionen KonvHel för att konvertera ett värde till datatypen Integer.

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

Funktionen KonvLng

Det här exemplet använder funktionen KonvLng för att konvertera ett värde till datatypen 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 KonvEnl

Det här exemplet använder funktionen KonvHel för att konvertera ett värde till datatypen 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 KonvStr

Det här exemplet använder funktionen KonvStr för att konvertera ett numeriskt värde till datatypen String.

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

Funktionen KonvVar

Det här exemplet använder funktionen KonvVar för att konvertera ett uttryck till datatypen Variant.

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

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.