כל פונקציה ממירה ביטוי לסוג נתונים ספציפי.
תחביר
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
הארגומנט הנדרש expression הוא כל מחרוזת או ביטוי מספרי.
סוגי החזרות
שם הפונקציה קובע את סוג ההחזרה, כפי שמוצג בטבלה הבאה:
| פונקציה | סוג החזרה | טווח עבור expression ארגומנט |
|---|---|---|
CBool |
Boolean |
כל מחרוזת חוקית או ביטוי מספרי חוקי. |
CByte |
Byte |
0 ל 255. |
CCur |
Currency |
-922,337,203,685,477.5808 ל 922,337,203,685,477.5807. |
CDate |
Date |
כל ביטוי תאריך חוקי. |
CDbl |
Double |
-1.79769313486231E308 אל -4.94065645841247E-324 עבור ערכים שליליים; 4.94065645841247E-324 אל 1.79769313486232E308 עבור ערכים חיוביים. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 עבור מספרים עם קנה מידה אפס, או מספרים ללא מקומות עשרוניים. עבור מספרים עם 28 מקומות עשרוניים, הטווח הוא +/-7.9228162514264337593543950335. המספר הקטן ביותר האפשרי שאינו אפס הוא 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768 ל 32,767; שברים מעוגלים. |
CLng |
Long |
-2,147,483,648 ל 2,147,483,647; שברים מעוגלים. |
CSng |
Single |
-3.402823E38 אל -1.401298E-45 עבור ערכים שליליים; 1.401298E-45 אל 3.402823E38 עבור ערכים חיוביים. |
CStr |
String |
ערך ההחזרה תלוי בארגומנט.expression |
CVar |
Variant |
טווח זהה לזה של Double ערכים מספריים. טווח זהה לזה של String ערכים שאינם מספריים. |
הערות
אם הפונקציה expression שמועברת לפונקציה נמצאת מחוץ לטווח של סוג הנתונים שאליו אתה ממיר את ההמרה, מתרחשת שגיאה.
באופן כללי, באפשרותך לתעד את הקוד באמצעות פונקציות המרת סוגי נתונים כדי להראות שבתוצאת פעולה כלשהי צריך להשתמש בסוג נתונים מסוים במקום בסוג ברירת המחדל. לדוגמה, השתמש כדי CCur לאלץ אריתמטיות של מטבע במקרים שבהם בדרך כלל מתרחשת אריתמטיקה של דיוק יחיד, דיוק כפול או מספר שלם.
השתמש בפונקציות המרת סוגי הנתונים במקום Val לספק המרות מודעות לאזור מסוג נתונים אחד לאחר. לדוגמה, בעת שימוש ב CCur- , Access מזהה מפרידים עשרוניים שונים, מפרידים אלפים ואפשרויות מטבע בהתבסס על הגדרת האזור של המחשב שלך.
כאשר חלק השבר הוא בדיוק 0.5, CInt ותמיד CLng לעגל אותו למספר הזוגי הקרוב ביותר. לדוגמה, 0.5 מעגל אל 0, ומעגל 1.5 ל- 2.
CInt ושונות CLng מפונקציות Fix AND Int , החותכות את החלק של השבר של מספר במקום לעגל אותו.
Fix וגם Int תמיד להחזיר ערך מאותו סוג שאתה מעביר.
השתמש בפונקציה כדי לקבוע אם date ניתן להמיר לתאריך או לשעהIsDate.
CDate מזהה ליטרלים של תאריך ושעה, כמו גם מספרים מסוימים הנופלים בטווח התאריכים המקובלים. בעת המרת מספר לתאריך, חלק המספר השלם הופך לתאריך. כל חלק חלקי הופך לשעה ביום שמתחילה בחצות.
CDate מזהה תבניות תאריך בהתאם להגדרת אזור המערכת שלך. ייתכן ש- Access לא יקבע את הסדר הנכון של יום, חודש ושנה אם תספק תבנית שונה מאחת מהגדרות התאריך המזוהות. בנוסף, הוא אינו מזהה תבנית תאריך ארוך אם הוא מכיל גם את מחרוזת היום בשבוע.
הפונקציה CVDate זמינה גם לצורך תאימות עם גירסאות קודמות של Visual Basic. התחביר של זהה לתחביר של CVDate זהה CDate לפונקציה. עם זאת, CVDate הפונקציה מחזירה Variant את סוג המשנה שלו ולא Date סוג ממשי Date . מאחר ש- Access כולל כעת סוג פנימי Date , אין צורך בו CVDateעוד. תוכל לקבל את אותו אפקט על-ידי המרת ביטוי ל- A Date ולאחר מכן הקצאתו ל- .Variant טכניקה זו עולה בקנה אחד עם ההמרה של סוגים מהותיים אחרים לתת-הסוגים המקבילים Variant שלהם.
הערה
הפונקציה CDec אינה מחזירה סוג נתונים נפרד. במקום זאת, היא תמיד מחזירה ערך שהומר Variant לסוג Decimal משנה.
דוגמאות לשאילתות
| Expression | תוצאות |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
הפונקציה מחזירה SalePrice את ו FinalPrice- , ומעריכה אם SalePrice הוא גדול מ- FinalPrice. מחזירה -1 אם הוא true ואם 0 הוא false. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
מחזירה ProductID, ממירה את הערכים Quantity בשדה ל- Byte, ומציגה אותם בעמודה Expr1 . |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
מחזירה ProductID, ממירה את הערכים DateofSale בשדה ל- Date, ומציגה אותם בעמודה Expr1 . |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
מחזירה ProductID, ממירה את הערכים Discount בשדה ל- Double, ומציגה אותם בעמודה Expr1 . |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
מחזירה ProductID, ממירה את הערכים Discount בשדה ל- Integer, ומציגה אותם בעמודה Expr1 . |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
מחזירה ProductID, ממירה את הערכים Discount בשדה ל- Long, ומציגה אותם בעמודה Expr1 . |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
מחזירה ProductID, ממירה את הערכים Discount בשדה ל- Single, ומציגה אותם בעמודה Expr1 . |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
מחזירה ProductID, ממירה את הערכים Discount בשדה ל- String, ומציגה אותם בעמודה Expr1 . |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
החזרת ProductID, המרת ערכים מספריים Discount ל- Double, והמרת ערכים שאינם מספריים ל- String. |
דוגמאות VBA
הערה
הדוגמאות הבאות מראות כיצד להשתמש בפונקציה זו במודול Visual Basic for Applications (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, עיין בחומר העזר בנושא Access VBA.
הפונקציה CBool
דוגמה זו משתמשת בפונקציה CBool כדי להמיר ביטוי ל- .Boolean אם הביטוי מוערך כערך שאינו אפס, CBool מחזיר True; אחרת, הוא מחזיר 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
דוגמה זו משתמשת בפונקציה CByte כדי להמיר ביטוי ל- .Byte
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
הפונקציה CCur
דוגמה זו משתמשת בפונקציה CCur כדי להמיר ביטוי ל- .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
דוגמה זו משתמשת בפונקציה CDate כדי להמיר מחרוזת ל- .Date באופן כללי, לא מומלץ לבצע קידוד קשיח של תאריכים ושעות כמחרוזות, כמוצג בדוגמה זו. במקום זאת, השתמש בליטרלים של תאריך ושעה, כגון #2/12/1969# and #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
דוגמה זו משתמשת בפונקציה CDbl כדי להמיר ביטוי ל- .Double
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
הפונקציה CDec
דוגמה זו משתמשת בפונקציה CDec כדי להמיר ערך מספרי ל- .Decimal
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
הפונקציה CInt
דוגמה זו משתמשת בפונקציה CInt כדי להמיר ערך ל- Integer.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
הפונקציה CLng
דוגמה זו משתמשת בפונקציה CLng כדי להמיר ערך ל- .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
דוגמה זו משתמשת בפונקציה CSng כדי להמיר ערך ל- .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
דוגמה זו משתמשת בפונקציה CStr כדי להמיר ערך מספרי ל- .String
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
הפונקציה CVar
דוגמה זו משתמשת בפונקציה CVar כדי להמיר ביטוי ל- .Variant
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.