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 eine beliebige Zeichenfolge oder ein 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.79769313486231E308 to -4.94065645841247E-324 für negative Werte; 4.94065645841247E-324 bis 1.79769313486232E308 für positive Werte. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 für Nullskalierte Zahlen oder Zahlen ohne Dezimalstellen. Bei Zahlen mit 28 Dezimalstellen ist +/-7.9228162514264337593543950335der Bereich . Die kleinstmögliche Zahl ungleich Null ist 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768 bis ; 32,767Brüche werden gerundet. |
CLng |
Long |
-2,147,483,648 bis ; 2,147,483,647Brüche werden gerundet. |
CSng |
Single |
-3.402823E38 to -1.401298E-45 für negative Werte; 1.401298E-45 bis 3.402823E38 für positive Werte. |
CStr |
String |
Der Rückgabewert hängt vom expression Argument ab. |
CVar |
Variant |
Derselbe Bereich wie Double bei numerischen Werten. Gleicher Bereich wie String bei nicht numerischen Werten. |
Hinweise
Wenn der expression an die Funktion übergebene Wert 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 nachzuweisen, dass das Ergebnis eines Vorgangs einen bestimmten Datentyp anstelle des Standardtyps verwenden soll. Wird z. B. verwendet CCur , 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 stattdessen die Datentypkonvertierungsfunktionen, um Val gebietsschemabezogene Konvertierungen von einem Datentyp in einen anderen bereitzustellen. Wenn Sie CCurz. B. verwenden, erkennt Access unterschiedliche Dezimaltrennzeichen, Tausendertrennzeichen und Währungsoptionen basierend auf der Gebietsschemaeinstellung Ihres Computers.
Wenn der Bruchteil genau 0.5ist, CInt und CLng immer auf die nächste gerade Zahl runden. Beispielsweise 0.5 wird auf 0, und 1.5 auf .2
CInt und CLng unterscheiden sich von den Fix UND-Funktionen Int , die den Bruchteil einer Zahl abschneiden, anstatt sie zu runden.
Fix und Int außerdem immer einen Wert desselben Typs zurückgeben, den Sie übergeben.
Bestimmen Sie mithilfe der IsDate Funktion, ob date die Konvertierung in ein Datum oder eine Uhrzeit möglich ist.
CDate Erkennt Datums- und Zeitliterale sowie einige Zahlen, die im Bereich 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 entsprechend Ihrer Gebietsschemaeinstellung. 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 wird ein langes Datumsformat nicht erkannt, 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 identisch mit der CDate Funktion. Gibt jedoch einen 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 einen Date konvertieren und ihn dann einem Variantzuweisen. Diese Technik ist konsistent mit der Konvertierung anderer intrinsischer Typen in ihre äquivalenten Variant Subtypen.
Hinweis
Die CDec Funktion gibt keinen diskreten Datentyp zurück. Stattdessen wird immer ein zurückgegeben Variant , dessen Wert in einen Decimal Untertyp konvertiert wurde.
Abfragebeispiele
| Ausdruck | Ergebnisse |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Gibt und SalePriceFinalPricezurück, und wertet aus, ob SalePrice größer als FinalPriceist. Gibt zurück -1 , ob es wahr ist und 0 ob es falsch ist. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Gibt ProductIDzurück, konvertiert die Werte im Quantity Feld in Byteund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Gibt ProductIDzurück, konvertiert die Werte im DateofSale Feld in Dateund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Gibt ProductIDzurück, konvertiert die Werte im Discount Feld in Doubleund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Gibt ProductIDzurück, konvertiert die Werte im Discount Feld in Integerund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Gibt ProductIDzurück, konvertiert die Werte im Discount Feld in Longund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Gibt ProductIDzurück, konvertiert die Werte im Discount Feld in Singleund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Gibt ProductIDzurück, konvertiert die Werte im Discount Feld in Stringund zeigt sie in der Expr1 Spalte an. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Gibt ProductIDzurück, konvertiert numerische Discount Werte in Doubleund wandelt nicht numerische Werte in Stringum. |
VBA-Beispiele
Hinweis
In den folgenden Beispielen wird gezeigt, wie Sie diese Funktion in einem Visual Basic for Applications (VBA)-Modul verwenden. Weitere Informationen zum Arbeiten mit VBA finden Sie in der Access VBA-Referenz.
CBool
In diesem Beispiel wird die CBool Funktion zum Konvertieren eines Ausdrucks in einen Boolean. Wenn die Auswertung des Ausdrucks einen Wert ungleich Null ergibt, wird zurückgegebenTrue; CBool andernfalls wird zurückgegebenFalse.
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
In diesem Beispiel wird die CByte Funktion zum Konvertieren eines Ausdrucks in einen Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
ZCur
In diesem Beispiel wird die CCur Funktion zum Konvertieren eines Ausdrucks in einen 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).
CDatfunktion
In diesem Beispiel wird die CDate Funktion verwendet, um eine Zeichenfolge in eine Date. Im Allgemeinen wird die hartcodierte Codierung von Datums- und Uhrzeitangaben als Zeichenfolgen, wie in diesem Beispiel gezeigt, nicht empfohlen. Verwenden Sie stattdessen Datumsliterale und Zeitliterale, z. B #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
In diesem Beispiel wird die CDbl Funktion zum Konvertieren eines Ausdrucks in einen Double.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
CDec
In diesem Beispiel wird die CDec Funktion verwendet, um einen numerischen Wert in einen zu konvertieren Decimal.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
CInt
In diesem Beispiel wird die CInt Funktion zum Konvertieren eines Werts in einen Integerverwendet.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
CLng
In diesem Beispiel wird die CLng Funktion verwendet, um einen Wert in einen Wert zu konvertieren 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.
CSng
In diesem Beispiel wird die CSng Funktion verwendet, um einen Wert in einen Wert zu konvertieren 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.
ZINSeinb
In diesem Beispiel wird die CStr Funktion verwendet, um einen numerischen Wert in einen zu konvertieren String.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
CVar
In diesem Beispiel wird die CVar Funktion zum Konvertieren eines Ausdrucks in einen Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.