Típuskonverziós függvények

Hatókör
Microsoft 365-höz készült Access Access 2024 Access 2021 Access 2019 Access 2016

Minden függvény egy kifejezést alakít át meghatározott adattípusúvá.

Szintaxis

  • CBool(expression)
  • CByte(expression)
  • CCur(expression)
  • CDate(expression)
  • CDbl(expression)
  • CDec(expression)
  • CInt(expression)
  • CLng(expression)
  • CSng(expression)
  • CStr(expression)
  • CVar(expression)

Kötelező argumentum expression tetszőleges karakterlánc vagy numerikus kifejezés.

A visszaadott eredmény típusa

A visszaadott eredményt a függvény neve határozza meg, az alábbi táblázatban látható módon:

Függvény A visszaadott eredmény típusa Argumentum tartománya expression
CBool Boolean Bármely érvényes karakterlánc vagy numerikus kifejezés.
CByte Byte 0nak neki.255
CCur Currency -922,337,203,685,477.5808nak neki.922,337,203,685,477.5807
CDate Date Bármely érvényes dátum típusú kifejezés.
CDbl Double -1.79769313486231E308 negatív -4.94065645841247E-324 értékekre; 4.94065645841247E-324 pozitív értékekre 1.79769313486232E308 .
CDec Decimal +/-79,228,162,514,264,337,593,543,950,335 nullskálás vagy tizedesjegyet nem tartalmazó számok esetén. A tizedesjegyeket tartalmazó 28 számok tartománya a következő: +/-7.9228162514264337593543950335. A nullától eltérő legkisebb szám a 0.0000000000000000000000000001.
CInt Integer -32,768 to 32,767; a törtek kerekítve.
CLng Long -2,147,483,648 to 2,147,483,647; a törtek kerekítve.
CSng Single -3.402823E38 negatív -1.401298E-45 értékekre; 1.401298E-45 pozitív értékekre 3.402823E38 .
CStr String A visszatérési érték az argumentumtól expression függ.
CVar Variant Ugyanaz a tartomány, mint a Double számértékeknél. Ugyanaz a tartomány, mint a String nem numerikus értékeknél.

Megjegyzések

Ha a függvénynek átadott érték expression azon adattípus tartományán kívül esik, amelyre konvertálni kíván, hiba történik.

Adattípus-konverziós függvények használatával általában dokumentálhatja a kódot, amely megjeleníti, hogy egy művelet eredményeként az alapértelmezett adattípus helyett egy adott adattípust kell használnia. Például CCur pénznem megjelenítésére használható olyan esetben, amikor egyszeres pontosságú, kétszeres pontosságú vagy egész érték szerepelne.

Az adattípus-konverziós függvények használata helyett Val területi beállításokat figyelembe vevő konverziók biztosításához az adattípusok között. Ha például CCura , az Access a különböző tizedesjegyeket, ezreselválasztókat és pénznembeállításokat ismer fel a számítógép területi beállításai alapján.

Amikor a törtrész pontosan 0.5, CInt és CLng mindig a legközelebbi páros számra kerekítse. A 0.5 kerekített érték például a következőre 0: , majd 1.5 kerekít erre: 2. CInt és különbözik CLng az Fix ÉS Int függvényektől, amelyek a számok tört részét kerekítés helyett csonkolják. Fix és Int emellett mindig ugyanolyan típusú értéket kell visszaadnia, mint amit átad.

A IsDate függvény segítségével megállapíthatja, hogy date dátummá vagy időponttá alakítható-e. CDate Felismeri a dátum- és időkonstansokat, valamint a megengedett dátumtartományba eső egyes számokat. Amikor egy számot dátummá alakít, az egész szám részből dátum lesz. Minden törtrész éjfélkor kezdődő napszak lesz.

CDate Felismeri a dátumformátumokat a rendszer területi beállításai szerint. Előfordulhat, hogy az Access nem tudja meghatározni a nap, a hónap és az év helyes sorrendjét, ha a beállított formátumtól eltérő formátumot ad meg. Ezenkívül nem ismeri fel a hosszú dátumformátumot, ha a hét napjai karakterláncot is tartalmazza.

A CVDate függvény a Visual Basic korábbi verzióival való kompatibilitás érdekében is elérhető. Az OF CVDate szintaxisa megegyezik a függvény CDate szintaxisával. Azonban CVDate egy olyan értéket ad vissza, Variant amelynek az altípusa van, Date nem pedig tényleges Date típust. Mivel az Access belső típust Date tartalmaz, a továbbiakban nincs szükség .CVDate Ugyanezt a hatást érheti el, ha egy kifejezést "a" Date típusúra alakít, majd hozzárendeli egy Variant. Ez a technika összhangban van más belső típusok ekvivalens Variant altípusaikká történő átalakításával.

Megjegyzés

A CDec függvény nem ad vissza különálló adattípust. Ehelyett mindig olyan értéket Variant ad vissza, amelynek az értéke altípussá Decimal lett konvertálva.

Példák lekérdezésekre

Expression Eredmények
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; Visszatérési értéke SalePrice és FinalPrice, és kiértékeli, hogy nagyobb-e, SalePrice mint FinalPrice. Eredménye -1 az, ha igaz és hamis 0 .
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; Visszatérési értéke ProductID, a mező értékeit Quantity a formátumba Bytekonvertálja, és megjeleníti őket az Expr1 oszlopban.
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; Visszatérési értéke ProductID, a mező értékeit DateofSale a formátumba Datekonvertálja, és megjeleníti őket az Expr1 oszlopban.
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; Visszatérési értéke ProductID, a mező értékeit Discount a formátumba Doublekonvertálja, és megjeleníti őket az Expr1 oszlopban.
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; Visszatérési értéke ProductID, a mező értékeit Discount a formátumba Integerkonvertálja, és megjeleníti őket az Expr1 oszlopban.
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; Visszatérési értéke ProductID, a mező értékeit Discount a formátumba Longkonvertálja, és megjeleníti őket az Expr1 oszlopban.
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; Visszatérési értéke ProductID, a mező értékeit Discount a formátumba Singlekonvertálja, és megjeleníti őket az Expr1 oszlopban.
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; Visszatérési értéke ProductID, a mező értékeit Discount a formátumba Stringkonvertálja, és megjeleníti őket az Expr1 oszlopban.
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; Eredménye ProductID, numerikus Discount értékek átalakítása Double, a nem numerikus értékek átalakítása Stringpedig .

VBA-példák

Megjegyzés

A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról az Access VBA dokumentációjában talál további információt.

CBool függvény

Ez a példa a CBool függvénnyel Boolean. Ha a kifejezés nullától különböző értéket eredményez, akkor CBool a függvény a "Contrast" értéket adja visszaFalseTrue.

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 függvény

Ez a példa a CByte függvénnyel Byte.

Dim MyDouble, MyByte
MyDouble = 125.5678    ' MyDouble is a Double.
MyByte = CByte(MyDouble)    ' MyByte contains 126.

CCur függvény

Ez a példa a CCur függvénnyel 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).

CDate függvény

Ez a példa a CDate függvénnyel Date. Általában nem ajánlott karakterláncokként fixen kódolni a dátumokat és időpontokat, ahogyan az a példában látható. Ehelyett dátum- és időkonstansokat használjon, például #2/12/1969# az és #4:45:23 PM#és helyett.

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 függvény

Ez a példa a CDbl függvénnyel Double.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

CDec függvény

Ez a példa a CDec függvénnyel egy numerikus értéket .Decimal

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587    ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr)     ' MyDecimal is a Decimal.

CInt függvény

Ez a példa a CInt függvénnyel Integer.

Dim MyDouble, MyInt
MyDouble = 2345.5678    ' MyDouble is a Double.
MyInt = CInt(MyDouble)    ' MyInt contains 2346.

CLng függvény

Ez a példa a CLng függvénnyel .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 függvény

Ez a példa a CSng függvénnyel .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 függvény

Ez a példa a CStr függvénnyel egy numerikus értéket .String

Dim MyDouble, MyString
MyDouble = 437.324    ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".

CVar függvény

Ez a példa a CVar függvénnyel Variant.

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