Applies ToAccess für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Jede Funktion wandelt einen Ausdruck in einen bestimmten Datentyp um.

Syntax

CBool( Ausdruck )

CByte( Ausdruck )

CCur( Ausdruck )

CDate( Ausdruck )

CDbl( Ausdruck )

CDec( Ausdruck )

CInt( Ausdruck )

CLng( Ausdruck )

CSng( Ausdruck )

CStr( Ausdruck )

CVar( Ausdruck )

Das erforderliche ArgumentAusdruck ist ein Zeichenfolgenausdruck oder ein Numerischer Ausdruck.

Rückgabetypen

Der Funktionsname bestimmt den Rückgabetyp (siehe folgende Tabelle):

Funktion

Rückgabetyp

Bereich für das Argument Ausdruck

CBool

Boolean

Beliebiger gültiger Zeichenfolgen- (string) oder numerischer Ausdruck.

CByte

Byte

0 bis 255.

CCur

Currency

-922.337.203.685.477,5808 bis 922.337.203.685.477,5807.

CDate

Date

Beliebiger gültiger Datumsausdruck.

CDbl

Double

-1.79769313486231E308 bis -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 unskalierte Zahlen (d. h. Zahlen ohne Dezimalstellen). Bei Zahlen mit 28 Dezimalstellen ist der Bereich +/-7.9228162514264337593543950335. Die kleinstmögliche Zahl mit Dezimalstellen ist 0,0000000000000000000000000001.

CInt

Integer

-32.768 bis 32.767; Brüche werden gerundet.

CLng

Long

-2.147.483.648 bis 2.147.483.647; Brüche werden gerundet.

CSng

Single

-3,402823E38 bis -1,401298E-45 für negative Wert und 1,401298E-45 bis 3,402823E38 für positive Werte.

CStr

String

Die jeweilige Rückgabe für "CStr" hängt vom Argument Ausdruck ab.

CVar

Variant

Derselbe Bereich wie für den Datentyp Double für numerische Werte. Derselbe Bereich wie für den Datentyp String für nicht numerische Werte.

Hinweise

Liegt der Ausdruck, der an eine Funktion übergeben wird, außerhalb des Bereichs des Datentyps, in den konvertiert werden soll, tritt ein Fehler auf.

Grundsätzlich können Sie Ihren Code mit Funktionen zur Datentypumwandlung dokumentieren, um zu kennzeichnen, dass das Ergebnis eines Vorgangs mit einem bestimmten Datentyp und nicht mit einem Standarddatentyp angezeigt werden soll. Verwenden Sie beispielsweise CCur, um Währungsarithmetik für Fälle zu erzwingen, in denen normalerweise Arithmetik mit einfacher oder doppelter Genauigkeit oder Ganzzahlarithmetik auftreten würde.

Sie sollten die Funktionen zur Datentypumwandlung anstelle von Val verwenden, um für internationale Zusammenhänge geeignete Umwandlungen von einem Datentyp in einen anderen zur Verfügung zu stellen. Wenn Sie beispielsweise CCur verwenden, werden unterschiedliche Dezimaltrennzeichen, Tausendertrennzeichen und Währungsoptionen je nach Gebietsschemaeinstellung Ihres Computers richtig erkannt.

Wenn der jeweilige Bruchteil genau 0,5 beträgt, runden CInt und CLng ihn immer auf die nächste gerade Zahl. Beispielsweise wird 0,5 auf 0 und 1,5 auf 2 gerundet. CInt und CLng unterscheiden sich von den Funktionen Fix und Int, die den Bruchteil einer Zahl nicht runden, sondern abschneiden. Außerdem geben Fix und Int immer einen Wert zurück, dessen Typ mit dem des eingegebenen Werts identisch ist.

Verwenden Sie die IsDate-Funktion, um zu ermitteln, ob Datum in ein Datum oder eine Uhrzeit umgewandelt werden kann. CDate erkennt Datumsliterale und Uhrzeitliterale sowie einige Zahlen, die in den Bereich zulässiger Datumsangaben fallen. Beim Umwandeln einer Zahl in ein Datum wird der ganzzahlige Teil der Zahl in ein Datum umgewandelt. Der Bruchteil der Zahl wird in eine Tageszeit umgewandelt, die um Mitternacht beginnt.

CDate erkennt Datumsformate entsprechend den Gebietsschemaeinstellungen Ihres System. Die richtige Reihenfolge von Tag, Monat und Jahr kann möglicherweise nicht ermittelt werden, wenn ein Datumswert in einem Format bereitgestellt wird, das keiner der erkannten Datumseinstellungen entspricht. Außerdem wird ein langes Datumsformat nicht erkannt, wenn es auch die Zeichenfolge für den Wochentag enthält.

Aus Gründen der Kompatibilität mit früheren Versionen von Visual Basic wird außerdem die CVDate-Funktion bereitgestellt. Die Syntax der CVDate-Funktion ist identisch mit derjenigen der CDate-Funktion, CVDate gibt aber einen Variant-Wert, der den Untertyp Date hat, statt eines Wert mit Date-Typ zurück. Da es nun den systeminternen Date-Typ gibt, wird CVDate nicht mehr benötigt. Derselbe Effekt lässt sich erzielen, indem ein Ausdruck in einen Date-Wert umgewandelt und dieser anschließend einem Variant-Wert zugewiesen wird. Diese Vorgehensweise entspricht der Umwandlung aller anderen systeminternen Typen in ihre gleichwertigen Variant-Untertypen.

Hinweis:  Die CDec-Funktion gibt keinen Wert mit einem einzelnen Datentyp, sondern immer einen Variant-Wert zurück, der in den Decimal-Untertyp umgewandelt wurde.

Abfragebeispiele

Ausdruck

Ergebnisse

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

Gibt "SalePrice", "FinalPrice" zurück und bewertet, ob "SalePrice" größer als der Endgültige Preis ist. Gibt "-1" zurück, wenn "true" und "0" bei false.

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

Gibt "ProductID" zurück, konvertiert die Werte im Feld "Menge" in das Byteformat und zeigt in Spalte Expr1 Gibt "ProductID" zurück, konvertiert die Werte im Feld "Menge" in das Währungsformat und wird in Spalte Expr1 angezeigt.

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

Gibt "ProductID" zurück, konvertiert die Werte im Feld "DateofSale" in das Datumsformat und wird in Spalte Expr1 angezeigt.

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

Gibt "ProductID" zurück, konvertiert die Werte im Feld "Rabatt" in das Double-Format und wird in Spalte Expr1 angezeigt.

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

Gibt "ProductID" zurück, konvertiert die Werte im Feld "Discount" in das Integer-Format und wird in Spalte Expr1 angezeigt.

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

Gibt "ProductID" zurück, konvertiert die Werte im Feld "Rabatt" in das Long-Format und wird in Spalte Expr1 angezeigt.

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

Gibt "ProductID" zurück, konvertiert die Werte im Feld "Rabatt" in ein einzelnes Format und wird in Spalte Expr1 angezeigt.

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

Gibt "ProductID" zurück, konvertiert die Werte im Feld "Rabatt" in das Zeichenfolgenformat und wird in Spalte Expr1 angezeigt.

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

Gibt "ProductID" zurück, konvertiert die Werte im Feld "Discount" für numerische Werte in Double und String für nicht numerische Werte.

VBA-Beispiele

Hinweis: Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Weitere Informationen zum Arbeiten mit VBA finden Sie unter Access VBA Reference.

CBool-Funktion

In diesem Beispiel wird die CBool-Funktion verwendet, um einen Ausdruck in einen Boolean-Wert umzuwandeln. Hat der Ausdruck einen Wert ungleich null, gibt CBool den Wert True, andernfalls den Wert False zurück.

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 Byte-Wert umzuwandeln.

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 Currency-Wert umzuwandeln.

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 einen Ausdruck in einen Date-Wert umzuwandeln. Im Grundsatz empfiehlt es sich nicht, Datums- und Uhrzeitangaben als feste Zeichenfolgen (wie im folgenden Beispiel gezeigt) zu codieren. Verwenden Sie stattdessen Datums- und Zeitliterale, z. B. #2/12/1969 # und #16:45:23#.

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 Double-Wert umzuwandeln.

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 Ausdruck in einen Decimal-Wert umzuwandeln.

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 Ausdruck in einen Integer-Wert umzuwandeln.

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 Ausdruck in einen Long-Wert umzuwandeln.

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 Ausdruck in einen Single-Wert umzuwandeln.

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 Ausdruck in einen String-Wert umzuwandeln.

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 Variant-Wert umzuwandeln.

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

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.