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

Met elke functie wordt een expressie geforceerd ingesteld op een specifiek gegevenstype.

Syntaxis

CBool ( expressie )

CByte( expressie )

CCur( expressie )

CDate( expressie )

CDbl( expressie )

CDec( expressie )

CInt( expressie )

CLng( expressie )

CSng( expressie )

CStr( expressie )

CVar( expressie )

Het vereiste expressieargument is een reeksexpressie of numerieke expressie.

Resultaattypen

De naam van de functie bepaalt het type resultaat, zoals duidelijk wordt uit de volgende tabel:

Functie

Type resultaat

Bereik voor expressie -argument

CBool

Booleaans

Elke geldige tekenreeks of numerieke expressie.

CByte

Byte

0 tot 255.

CCur

Valuta

-922.337.203.685.477,5808 tot 922.337.203.685.477,5807.

CDate

Datum

Elke geldige datumexpressie.

CDbl

Dubbele precisie

-1.79769313486231E308 tot -4,94065645841247E-324 voor negatieve waarden; 4,94065645841247E-324 tot 1,79769313486232E308 voor positieve waarden.

CDec

Decimaal

+/-79.228.162.514.264.337.593.543.950.335 voor getallen zonder decimalen. Voor getallen met 28 decimalen is het bereik +/-7.9228162514264337593543950335. Het kleinst mogelijke getal dat niet nul is, is 0,0000000000000000000000000001.

CInt

Geheel getal

-32.768 tot -32.767; breuken worden afgerond.

CLng

Lang

-2.147.483.648 tot 2.147.483.647; breuken worden afgerond.

CSng

Enkele precisie

-3,402823E38 tot -1,401298E-45 voor negatieve waarden; 1,401298E-45 tot 3,402823E38 voor positieve waarden.

CStr

Tekenreeks

Het resultaat voor CStr is afhankelijk van het argument expressie.

CVar

Variant

Hetzelfde bereik als Dubbele precisie voor numerieke expressies. Hetzelfde bereik als Tekenreeks voor niet-numerieke expressies.

Opmerkingen

Er treedt een fout op als de expressie die wordt doorgegeven aan de functie, buiten het bereik valt van het gegevenstype waarnaar wordt geconverteerd.

In het algemeen kunt u de code documenteren met de functies voor de conversie van gegevenstypen om aan te geven dat het resultaat van een bewerking moet worden uitgedrukt als een bepaald gegevenstype in plaats van het standaardgegevenstype. Gebruik bijvoorbeeld CCur om wiskundige bewerkingen voor valuta af te dwingen in gevallen waarin anders wiskundige bewerkingen voor enkele precisie, dubbele precisie of gehele getallen zouden worden toegepast.

Gebruik de functies voor de conversie van gegevenstypen in plaats van Val om conversies van gegevenstypen uit te voeren met behoud van internationale landinstellingen. Als u bijvoorbeeld CCur gebruikt, worden andere scheidingstekens voor decimalen, andere scheidingstekens voor duizendtallen en verschillende valutaopties juist herkend, afhankelijk van de landinstelling van uw computer.

Wanneer het breukdeel precies 0,5 is, wordt er door CInt en CLng altijd afgerond op het dichtstbijzijnde even getal. 0,5 wordt bijvoorbeeld afgerond op 0 en 1,5 op 2. CInt en CLng verschillen van de functies Fix en Int, die het breukdeel van een getal afkappen in plaats van afronden. Bovendien geven Fix en Int altijd een waarde als resultaat die van hetzelfde type is als de waarde die in eerste instantie is doorgegeven.

Gebruik de functie IsDate om te bepalen of datum kan worden geconverteerd naar een datum of tijd. CDate herkent niet alleen letterlijke tekens voor datum en voor tijd, maar ook sommige getallen die binnen het datumbereik van acceptabele datums vallen. Wanneer u een getal naar een datum converteert, wordt gehele deel van het getal omgezet in een datum. Een breukdeel van het getal wordt geconverteerd naar een tijdstip, beginnend bij middernacht.

CDate herkent datumnotaties volgens de landinstellingen van uw systeem. De juiste volgorde van dag, maand en jaar kan niet worden bepaald als de datum wordt opgegeven in een andere notatie dan een van de herkende datuminstellingen. Daarnaast wordt een lange datumnotatie niet herkend als deze ook tekenreeks voor de dag van de week bevat.

Er is ook een CVDate-functie beschikbaar voor compatibiliteit met eerdere versies van Visual Basic. De syntaxis van de functie CVDate is identiek aan de functie CDate , maar CVDate retourneert een variant waarvan het subtype Datum is in plaats van een werkelijk datumtype . Omdat er nu een intrinsiek datumtype is, is cvDate niet meer nodig. Hetzelfde effect kan worden bereikt door een expressie te converteren naar een datum en deze vervolgens toe te wijzen aan een variant. Deze techniek is consistent met de conversie van alle andere intrinsieke typen naar hun equivalente Variant-subtypen.

Opmerking:  De functie CDec retourneert geen discreet gegevenstype. In plaats daarvan wordt altijd een variant geretourneerd waarvan de waarde is geconverteerd naar een Decimaal-subtype.

Queryvoorbeelden

Expression

Resultaten

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

Retourneert 'SalePrice', 'FinalPrice' en evalueert of SalePrice hoger is dan de uiteindelijke prijs. Retourneert '-1' indien waar en '0' als dit onwaar is.

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

Retourneert 'ProductID', converteert de waarden in het veld Hoeveelheid naar de bytes-indeling en wordt weergegeven in kolom Expr1 retourneert 'ProductID', converteert de waarden in het veld 'Hoeveelheid' naar valuta-indeling en wordt weergegeven in kolom Expr1.

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

Retourneert 'ProductID', converteert de waarden in het veld 'DateofSale' naar datumnotatie en wordt weergegeven in kolom Expr1.

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

Retourneert 'ProductID', converteert de waarden in het veld 'Korting' naar de dubbele notatie en wordt weergegeven in kolom Expr1.

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

Retourneert 'ProductID', converteert de waarden in het veld 'Korting' naar de notatie Geheel getal en wordt weergegeven in kolom Expr1.

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

Retourneert 'ProductID', converteert de waarden in het veld 'Korting' naar lange notatie en wordt weergegeven in kolom Expr1.

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

Retourneert 'ProductID', converteert de waarden in het veld 'Korting' naar enkele indeling en wordt weergegeven in kolom Expr1.

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

Retourneert 'ProductID', converteert de waarden in het veld 'Korting' naar tekenreeksindeling en wordt weergegeven in kolom Expr1.

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

Retourneert 'ProductID', converteert de waarden in het veld 'Korting' naar Double voor numerieke waarden en Tekenreeks voor niet-numerieke waarden.

VBA-voorbeelden

Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Zie Toegang tot VBA-verwijzing voor meer informatie over het werken met VBA.

De functie CBool

In dit voorbeeld wordt de functie CBool gebruikt om een expressie te converteren naar het gegevenstype Booleaans. Als de expressie een andere waarde dan nul oplevert, geeft CBoolTrue als resultaat, in alle andere gevallen 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.

De functie CByte

In dit voorbeeld wordt de functie CByte gebruikt om een expressie te converteren naar het gegevenstype Byte.

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

De functie CCur

In dit voorbeeld wordt de functie CCur gebruikt om een expressie te converteren naar het gegevenstype 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).

De functie CDate

In dit voorbeeld wordt de functie CDate gebruikt om een tekenreeks te converteren naar het gegevenstype Datum. In het algemeen wordt het afgeraden om datums en tijden als tekenreeksen toe te voegen (zoals in dit voorbeeld is gedaan). Gebruik in plaats daarvan datum- en tijdwaarden zoals #2/12/1969# en #4:45:23 PM#.

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)

De functie CDbl

In dit voorbeeld wordt de functie CDbl gebruikt om een expressie te converteren naar het gegevenstype Dubbele precisie.

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

De functie CDec

In dit voorbeeld wordt de functie CDec gebruikt om een expressie te converteren naar het gegevenstype Decimaal.

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

De functie CInt

In dit voorbeeld wordt de functie CInt gebruikt om een expressie te converteren naar het gegevenstype Geheel getal.

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

De functie CLng

In dit voorbeeld wordt de functie CLng gebruikt om een expressie te converteren naar het gegevenstype 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.

De functie CSng

In dit voorbeeld wordt de functie CSng gebruikt om een expressie te converteren naar het gegevenstype Enkele precisie.

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.

De functie CStr

In dit voorbeeld wordt de functie CStr gebruikt om een expressie te converteren naar het gegevenstype Tekenreeks.

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

De functie CVar

In dit voorbeeld wordt de functie CVar gebruikt om een expressie te converteren naar het gegevenstype Variant.

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

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.