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 adott adattípusra kényszerít egy kifejezést.

Szintaxis

CBool(kifejezés)

CByte(kifejezés)

CCur(kifejezés)

CDate(kifejezés)

CDbl(kifejezés)

CDec(kifejezés)

CInt(kifejezés)

CLng(kifejezés)

CSng(kifejezés)

CStr(kifejezés)

CVar(kifejezés)

A szükséges kifejezésargumentumbármely sztringkifejezés vagy numerikus kifejezés.

A visszaadott eredmény típusa

A visszaadott eredményt a függvény neve határozza meg az alábbiak szerint:

Funkció A visszaadott eredmény típusa A kifejezésargumentum tartománya
CBool Logikai Bármely érvényes karakterlánc vagy numerikus kifejezés.
CByte Bájt 0 – 255.
CCur Pénznem -922,337,203,685,477.5808 – 922,337,203,685,477.5807.
CDate Dátum Bármely érvényes dátum típusú kifejezés.
CDbl Dupla -1.79769313486231E308
-4,94065645841247E-324 negatív értékek esetén; 4,94065645841247E-324–1,79769313486232E308 pozitív értékek esetén.
CDec Decimális +/-79,228,162,514,264,337,593,543,950,335 tartományban a nullskálás, azaz tizedesjegyet nem tartalmazó számok esetén. A 28 tizedesjegyet tartalmazó számok esetében a tartomány
+/-7.9228162514264337593543950335. A legkisebb nullától különböző szám: 0.0000000000000000000000000001.
CInt Egész -32,768 to 32,767; a törtek kerekítve.
CLng Hosszú -2,147,483,648 to 2,147,483,647; a törtek kerekítve.
CSng Egyszeres -3,402823E38 és -1,401298E-45 között negatív értékekre; 1,401298E-45 és 3,402823E38 között pozitív értékekre.
CStr Karakterlánc A CStr függvény visszatérési típusa a kifejezésargumentumtól függ.
CVar Variant Numerikus kifejezéseknél ugyanaz a tartomány, mint a dupla adattípusnál. Nem numerikus adatoknál pedig a karakterlánc tartománya vonatkozik rá.

Megjegyzések

Ha a függvénynek átadott kifejezés kívül esik a konvertálandó adattípus tartományán, hiba történik.

Adattípus-konverziós függvények használatakor érdemes jelezni, ha az egyes műveletek eredményeit az alapértelmezettől eltérő adattípussal jeleníti meg. A CCur függvény használható például pénznem megjelenítésére olyan esetben, ahol amúgy egyszeres pontosságú, kétszeres pontosságú vagy egész érték szerepelne.

Nemzetközi szinten is helyesen működő adattípus-konverziókhoz a Val függvény helyett használja az adattípus-konverziós függvényeket. A CCur függvény használatakor például a különböző tizedesjegyek, ezreselválasztók és pénznem-beállítások felismerése a számítógép területi beállításai alapján történik.

Ha az érték törtrésze pontosan 0,5, a CInt és a CLng függvény mindig a legközelebbi páros számra kerekíti azt. A 0,5 például kerekítve 0, az 1,5 pedig 2 lesz. A CInt és a CLng függvény különbözik a Fix és az Int függvénytől, amely nem kerekíti, hanem levágja a számok tört részét. A Fix és az Int függvény ezenkívül mindig a kapott értéknek megfelelő adattípust ad vissza.

Az IsDate függvénnyel meghatározhatja, hogy a dátum dátummá vagy idővé alakítható-e. A CDate felismeri a dátumkonstansokat és az időkonstansokat, valamint az elfogadható dátumtartományba eső számokat. Ha egy számot dátummá alakít át, a teljes számrész dátummá lesz konvertálva. A program a szám bármely törtrészét napidővé alakítja éjféltől kezdve.

A CDate a rendszer területi beállításainak megfelelően felismeri a dátumformátumokat. Ha a beállított formátumtól eltérő módon adja meg a dátumot, előfordulhat, hogy a függvény nem tudja meghatározni az év, a hónap és nap megfelelő sorrendjét. A függvény szintén nem ismeri fel a hét napjai karakterláncot is tartalmazó dátumformátumokat.

A Visual Basic korábbi verzióival való kompatibilitást szolgálja a CVDate függvény. A CVDate függvény szintaxisa megegyezik a CDate függvényével, azonban a CVDate függvény egy Dátum altípussal rendelkező Variant eredményt ad vissza, nem pedig egy tényleges Dátum eredményt. Mivel a jelenlegi verzió belső Dátum típust tartalmaz, a CVDate függvényre már nincs szükség. Ugyanez az eredmény érhető el, ha a kifejezést Dátum típusúvá alakítjuk át, majd Variant értékhez rendeljük. Ez a megoldás azonos az összes belső típus megfelelő Variant altípusra történő konverziójával.

Megjegyzés

A CDec függvény nem diszkrét adattípust, hanem mindig Variant típusú eredményt ad vissza, amelynek értéke a Decimális altípusra lett átalakítva.

Példák lekérdezésre

Kifejezés Eredmény:
SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales; A "SalePrice", "FinalPrice" értéket adja vissza, és kiértékeli, hogy a SalePrice nagyobb-e a végleges árnál. A "-1" értéket adja vissza, ha igaz, a "0"-t, ha hamis.
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; A "ProductID" értéket adja vissza, a "Mennyiség" mezőben szereplő értékeket bájtos formátumra konvertálja, és az Expr1 oszlopban a "ProductID" értéket adja vissza, a "Mennyiség" mező értékeit Pénznem formátumba konvertálja, és az Expr1 oszlopban jelenik meg.
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; A "ProductID" értéket adja vissza, a "DateofSale" mező értékeit Dátum formátumba konvertálja, és az Expr1 oszlopban jeleníti meg.
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; A "ProductID" értéket adja vissza, a "Discount" (Kedvezmény) mezőben szereplő értékeket dupla formátumba konvertálja, és az Expr1 oszlopban jeleníti meg.
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; A "ProductID" értéket adja vissza, a "Discount" (Kedvezmény) mezőben szereplő értékeket Egész szám formátumba konvertálja, és az Expr1 oszlopban jeleníti meg.
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; A "ProductID" értéket adja vissza, a "Discount" (Kedvezmény) mezőben szereplő értékeket Hosszú formátumba konvertálja, és az Expr1 oszlopban jeleníti meg.
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; A "ProductID" értéket adja vissza, a "Discount" (Kedvezmény) mező értékeit Egyetlen formátumba konvertálja, és az Expr1 oszlopban jeleníti meg.
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; A "ProductID" értéket adja vissza, a "Discount" mező értékeit Sztring formátumba konvertálja, és az Expr1 oszlopban jeleníti meg.
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; A "ProductID" értéket adja vissza, a "Discount" (Kedvezmény) mezőben szereplő értékeket dupla értékké alakítja a numerikus értékeknél, a Sztringet pedig a Nem numerikus értékeknél.

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ával kapcsolatos további információkért lásd az Access VBA-referenciáját.

CBool függvény

Ez a példa a CBool függvénnyel Logikai értékké alakít egy kifejezést. Ha a kifejezés nullától különböző értéket eredményez, a CBool függvény Igaz értéket ad vissza, ellenkező esetben Hamis értéket.


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 Bájt értékké alakít egy kifejezést.


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 Pénznem értékké alakít egy kifejezést.


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 Dátum értékké alakít egy karakterláncot. Általában nem érdemes karakterláncokként fixen kódolni a dátumokat és időpontokat (ahogy az a példában látható). Ehelyett használjon dátum- és időkonstansokat, például: #1969.02.12.# és #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 függvény

Ez a példa a CDbl függvénnyel Dupla értékké alakít egy kifejezést.


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 Decimális értékké alakít egy számértéket.


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 Egész értékké alakít egy értéket.


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 Hosszú értékké alakít egy értéket.


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 Egyszeres értékké alakít egy értéket.


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 Karakterlánc értékké alakít egy számértéket.


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 értékké alakít egy kifejezést.


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