Elke functie converteert een expressie naar een specifiek gegevenstype.
Syntaxis
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
Het vereiste expression argument is een tekenreeks- of numerieke expressie.
Retourtypen
De naam van de functie bepaalt het type resultaat, zoals u kunt zien in de volgende tabel:
| Functie | Type resultaat | Bereik voor expression argument |
|---|---|---|
CBool |
Boolean |
Elke geldige tekenreeks- of numerieke expressie. |
CByte |
Byte |
0 tot 255. |
CCur |
Currency |
-922,337,203,685,477.5808 tot 922,337,203,685,477.5807. |
CDate |
Date |
Elke geldige datumexpressie. |
CDbl |
Double |
-1.79769313486231E308 naar -4.94065645841247E-324 voor negatieve waarden; 4.94065645841247E-324 naar 1.79769313486232E308 voor positieve waarden. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 Voor getallen zonder decimalen of getallen zonder decimalen. Voor getallen met 28 decimalen is het bereik .+/-7.9228162514264337593543950335 Het kleinst mogelijke niet-nul getal is 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768 naar 32,767; breuken worden afgerond. |
CLng |
Long |
-2,147,483,648 naar 2,147,483,647; breuken worden afgerond. |
CSng |
Single |
-3.402823E38 naar -1.401298E-45 voor negatieve waarden; 1.401298E-45 naar 3.402823E38 voor positieve waarden. |
CStr |
String |
De resulterende waarde is afhankelijk van het expression argument. |
CVar |
Variant |
Hetzelfde bereik als Double voor numerieke waarden. Hetzelfde bereik als String voor niet-numerieke waarden. |
Opmerkingen
Als het expression doorgegeven aan de functie buiten het bereik valt van het gegevenstype waarnaar u converteert, treedt er een fout op.
In het algemeen kunt u de code documenteren met behulp van functies voor de conversie van gegevenstypen om aan te geven dat het resultaat van een bewerking een bepaald gegevenstype moet gebruiken in plaats van het standaardtype. Gebruik deze regel 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 conversie van gegevenstypen in plaats van conversies van gegevenstypen met behoud van Val landinstellingen. Als u CCurbijvoorbeeld in Access kiest, worden verschillende scheidingstekens voor decimalen, duizendtallen en valutaopties herkend op basis van de landinstellingen van uw computer.
Wanneer het breukdeel precies 0.5is, CInt en CLng rond het altijd af op het dichtstbijzijnde even getal.
0.5 Hiermee wordt bijvoorbeeld afgerond op 0, en 1.5 wordt afgerond op 2.
CInt en CLng verschillen van de Fix functies EN Int , die het breukdeel van een getal afkappen in plaats van afronden.
Fix En Int retourneer ook altijd een waarde van hetzelfde type als die u invoert.
Gebruik de IsDate functie om te bepalen of date deze naar een datum of tijd kan worden geconverteerd.
CDate herkent datum- en tijdwaarden en sommige getallen die binnen het datumbereik van acceptabele datums vallen. Wanneer u een getal naar een datum converteert, wordt het gehele deel van het getal een datum. Een breukdeel wordt een tijdstip van de dag dat begint om middernacht.
CDate Herkent datumnotaties op basis van de landinstellingen van uw systeem. Het is mogelijk dat de juiste volgorde van dag, maand en jaar niet wordt bepaald als u een andere notatie opgeeft 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 CVDate functie is ook beschikbaar voor compatibiliteit met eerdere versies van Visual Basic. De syntaxis van CVDate is identiek aan de CDate functie. Retourneert CVDate echter een Variant waarvan het subtype Date is in plaats van een werkelijk Date type. Omdat Access nu een intrinsiek Date type bevat, hebt CVDateu het . U bereikt hetzelfde effect door een expressie te converteren naar a Date en deze vervolgens toe te wijzen aan een Variant. Deze techniek is consistent met de conversie van andere intrinsieke typen naar hun equivalente Variant subtypen.
Opmerking
De CDec functie retourneert geen afzonderlijk gegevenstype. In plaats daarvan wordt altijd een Variant waarde als resultaat gegeven waarvan de waarde is geconverteerd naar een Decimal subtype.
Queryvoorbeelden
| Expression | Resultaten |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Geeft als resultaat SalePrice en , en evalueert of SalePrice groter is dan FinalPriceFinalPrice. Geeft als resultaat -1 of de waarde waar is en 0 of de waarde onwaar is. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Retourneert ProductID, converteert de waarden in het Quantity veld naar Byte, en geeft ze weer in de Expr1 kolom. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Retourneert ProductID, converteert de waarden in het DateofSale veld naar Date, en geeft ze weer in de Expr1 kolom. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Retourneert ProductID, converteert de waarden in het Discount veld naar Double, en geeft ze weer in de Expr1 kolom. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Retourneert ProductID, converteert de waarden in het Discount veld naar Integer, en geeft ze weer in de Expr1 kolom. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Retourneert ProductID, converteert de waarden in het Discount veld naar Long, en geeft ze weer in de Expr1 kolom. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Retourneert ProductID, converteert de waarden in het Discount veld naar Single, en geeft ze weer in de Expr1 kolom. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Retourneert ProductID, converteert de waarden in het Discount veld naar String, en geeft ze weer in de Expr1 kolom. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Converteert ProductIDnumerieke waarden naar Doubleen converteert niet-numerieke Discount waarden naar String. |
VBA-voorbeelden
Opmerking
In de volgende voorbeelden ziet u hoe u deze functie kunt gebruiken in een VBA-module (Visual Basic for Applications). Zie de naslaginformatie over VBA in Access voor meer informatie over het werken met VBA.
CBool, functie
In dit voorbeeld wordt de CBool functie gebruikt om een expressie te converteren naar een Boolean. Als de expressie een andere waarde dan nul oplevert, CBool wordt als resultaat Truegegeven; anders wordt .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, functie
In dit voorbeeld wordt de CByte functie gebruikt om een expressie te converteren naar een 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 CCur functie gebruikt om een expressie te converteren naar een 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).
De functie CDate
In dit voorbeeld wordt de CDate functie gebruikt om een tekenreeks te converteren naar een Date. 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)
CDbl, functie
In dit voorbeeld wordt de CDbl functie gebruikt om een expressie te converteren naar een Double.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
CDec, functie
In dit voorbeeld wordt de CDec functie gebruikt om een numerieke waarde te converteren naar een Decimal.
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 CInt functie gebruikt om een waarde te converteren naar een Integer.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
CLng, functie
In dit voorbeeld wordt de CLng functie gebruikt om een waarde te converteren naar een 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.
De functie CSng
In dit voorbeeld wordt de CSng functie gebruikt om een waarde te converteren naar een 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, functie
In dit voorbeeld wordt de CStr functie gebruikt om een numerieke waarde te converteren naar een String.
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 CVar functie gebruikt om een expressie te converteren naar een Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.