Functies voor typeconversie

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.

De functie CVDate is beschikbaar voor compatibiliteit met eerdere versies van Visual Basic. De syntaxis van de functie CVDate is identiek aan die van de functie CDate. Het is wel zo dat CVDate een variant als resultaat geeft waarvan subtype Datum is in plaats van een werkelijk type Datum. Aangezien er nu een ingebouwd type Datum is, is CVDate niet meer nodig. Hetzelfde effect kan worden bereikt door een expressie te converteren naar Datum en deze vervolgens toe te wijzen aan een variant. Deze techniek wordt ook gebruikt voor de conversie van alle andere ingebouwde typen naar de overeenkomstige 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.

Voorbeelden

Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.

De functie CBool

Tip:  Met de opbouwfunctie voor expressies met IntelliSense die beschikbaar is vanaf Access 2010 kunt u eenvoudig correcte expressies maken.

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.
Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×