Jede Funktion konvertiert einen Ausdruck in einen bestimmten Datentyp.
Syntax
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
Das erforderliche expression Argument ist ein beliebiger Zeichenfolgen- oder numerischer Ausdruck.
Rückgabetypen
Der Funktionsname bestimmt den Rückgabetyp, wie in der folgenden Tabelle gezeigt:
| Funktion | Rückgabetyp | Bereich für expression Argument |
|---|---|---|
CBool |
Boolean |
Beliebiger gültiger Zeichenfolgen- (string) oder numerischer Ausdruck. |
CByte |
Byte |
0 zu 255. |
CCur |
Currency |
-922,337,203,685,477.5808 zu 922,337,203,685,477.5807. |
CDate |
Date |
Beliebiger gültiger Datumsausdruck. |
CDbl |
Double |
-1.79769313486231E308für -4.94065645841247E-324 negative Werte; 4.94065645841247E-324 für positive Werte.1.79769313486232E308 |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 für nullskalierte Zahlen oder Zahlen ohne Dezimalstellen. Für Zahlen mit 28 Dezimalstellen ist +/-7.9228162514264337593543950335der Bereich . Die kleinste mögliche Zahl ungleich null ist 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768 in 32,767; Bruchzahlen werden gerundet. |
CLng |
Long |
-2,147,483,648 in 2,147,483,647; Bruchzahlen werden gerundet. |
CSng |
Single |
-3.402823E38für -1.401298E-45 negative Werte; 1.401298E-45 für positive Werte.3.402823E38 |
CStr |
String |
Der Rückgabewert hängt expression vom Argument ab. |
CVar |
Variant |
Derselbe Bereich wie Double für numerische Werte. Derselbe Bereich wie String für nicht numerische Werte. |
Hinweise
Wenn der expression an die Funktion übergebene außerhalb des Bereichs des Datentyps liegt, in den Sie konvertieren, tritt ein Fehler auf.
Im Allgemeinen können Sie Ihren Code mithilfe von Datentypkonvertierungsfunktionen dokumentieren, um zu zeigen, dass das Ergebnis eines Vorgangs einen bestimmten Datentyp anstelle des Standardtyps verwenden sollte. Verwenden Sie CCur beispielsweise , um Währungsarithmetik in Fällen zu erzwingen, in denen normalerweise Arithmetik mit einfacher Genauigkeit, doppelter Genauigkeit oder ganzzahliger Arithmetik auftreten würde.
Verwenden Sie anstelle von Val die Datentypkonvertierungsfunktionen, um gebietsschemabezogene Konvertierungen von einem Datentyp in einen anderen bereitzustellen. Wenn Sie beispielsweise verwenden CCur, erkennt Access basierend auf der Gebietsschemaeinstellung Ihres Computers verschiedene Dezimaltrennzeichen, Tausendertrennzeichen und Währungsoptionen.
Wenn der Bruchteil genau 0.5ist, CInt und CLng runden Sie ihn immer auf die nächste gerade Zahl. Beispielsweise 0.5 rundet auf 0, und 1.5 rundet auf 2.
CInt und CLng unterscheiden sich von den Fix Funktionen und Int , die den Bruchteil einer Zahl abschneiden, anstatt sie zu runden.
Fix und Int geben auch immer einen Wert desselben Typs zurück, den Sie übergeben.
Verwenden Sie die IsDate -Funktion, um zu bestimmen, ob date in ein Datum oder eine Uhrzeit konvertiert werden kann.
CDate erkennt Datumsliterale und Zeitliterale sowie einige Zahlen, die innerhalb des Bereichs zulässiger Datumsangaben liegen. Wenn Sie eine Zahl in ein Datum konvertieren, wird der ganze Zahlenteil zu einem Datum. Jeder Bruchteil wird zu einer Tageszeit, die um Mitternacht beginnt.
CDate erkennt Datumsformate gemäß Ihrer Systemgebietsschemaeinstellung. Access bestimmt möglicherweise nicht die richtige Reihenfolge von Tag, Monat und Jahr, wenn Sie ein anderes Format als eine der erkannten Datumseinstellungen angeben. Darüber hinaus erkennt es kein langes Datumsformat, wenn es auch die Zeichenfolge für den Wochentag enthält.
Die CVDate Funktion ist auch für die Kompatibilität mit früheren Versionen von Visual Basic verfügbar. Die Syntax von CVDate ist mit der CDate -Funktion identisch. Gibt jedoch ein zurück, CVDate dessen Untertyp anstelle eines tatsächlichen Date Typs istDate.Variant Da Access jetzt einen systeminternen Date Typ enthält, benötigen CVDateSie nicht mehr . Sie können den gleichen Effekt erzielen, indem Sie einen Ausdruck in ein Date konvertieren und ihn dann einem Variantzuweisen. Dieses Verfahren ist konsistent mit der Konvertierung anderer systeminterner Typen in die entsprechenden Variant Untertypen.
Hinweis
Die CDec Funktion gibt keinen diskreten Datentyp zurück. Stattdessen wird immer ein Variant zurückgegeben, dessen Wert in einen Decimal Untertyp konvertiert wurde.
Abfragebeispiele
| Ausdruck | Ergebnisse |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Gibt und FinalPricezurück SalePrice und wertet aus, ob SalePrice größer als FinalPriceist. Gibt zurück -1 , wenn es true und 0 false ist. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Gibt zurück ProductID, konvertiert die Werte im Feld in QuantityByteund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Gibt zurück ProductID, konvertiert die Werte im Feld in DateofSaleDateund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Gibt zurück ProductID, konvertiert die Werte im Feld in DiscountDoubleund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Gibt zurück ProductID, konvertiert die Werte im Feld in DiscountIntegerund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Gibt zurück ProductID, konvertiert die Werte im Feld in DiscountLongund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Gibt zurück ProductID, konvertiert die Werte im Feld in DiscountSingleund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Gibt zurück ProductID, konvertiert die Werte im Feld in DiscountStringund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Gibt zurück ProductID, konvertiert numerische Discount Werte in Doubleund nicht numerische Werte in String. |
VBA-Beispiele
Hinweis
Die folgenden Beispiele zeigen, wie Diese Funktion in einem vba-Modul (Visual Basic for Applications) verwendet wird. Weitere Informationen zum Arbeiten mit VBA finden Sie in der Access VBA-Referenz.
CBool-Funktion
In diesem Beispiel wird die CBool -Funktion verwendet, um einen Ausdruck in einen Booleanzu konvertieren. Wenn der Ausdruck zu einem Wert ungleich null ausgewertet wird, CBool gibt zurück True, andernfalls wird zurückgegeben 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-Funktion
In diesem Beispiel wird die CByte -Funktion verwendet, um einen Ausdruck in einen Bytezu konvertieren.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
CCur-Funktion
In diesem Beispiel wird die CCur -Funktion verwendet, um einen Ausdruck in einen Currencyzu konvertieren.
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).
CDate-Funktion
In diesem Beispiel wird die CDate -Funktion verwendet, um eine Zeichenfolge in eine Datezu konvertieren. Im Allgemeinen wird die hartcodierende Codierung von Datums- und Uhrzeitangaben als Zeichenfolgen, wie in diesem Beispiel gezeigt, nicht empfohlen. Verwenden Sie stattdessen Datumsliterale und Zeitliterale wie #2/12/1969# und #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-Funktion
In diesem Beispiel wird die CDbl -Funktion verwendet, um einen Ausdruck in einen Doublezu konvertieren.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
CDec-Funktion
In diesem Beispiel wird die CDec -Funktion verwendet, um einen numerischen Wert in eine Decimalzu konvertieren.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
CInt-Funktion
In diesem Beispiel wird die CInt -Funktion verwendet, um einen Wert in einen Integerzu konvertieren.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
CLng-Funktion
In diesem Beispiel wird die CLng -Funktion verwendet, um einen Wert in eine Longzu konvertieren.
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-Funktion
In diesem Beispiel wird die CSng -Funktion verwendet, um einen Wert in eine Singlezu konvertieren.
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-Funktion
In diesem Beispiel wird die CStr -Funktion verwendet, um einen numerischen Wert in eine Stringzu konvertieren.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
CVar-Funktion
In diesem Beispiel wird die CVar -Funktion verwendet, um einen Ausdruck in einen Variantzu konvertieren.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.