כל פונקציה ממירה ביטוי לסוג נתונים ספציפי.
תחביר
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, ועגל CLngCInt אותו תמיד למספר הזוגי הקרוב ביותר. לדוגמה, 0.5 עיגול אל 0, וסיגול 1.5 אל 2.
CInt והפונקציות CLngFix והפונקציות Int שונות, וחתכו את חלק השבר של מספר במקום לעגל אותו.
Fix כמו Int כן, החזר תמיד ערך מאותו סוג שאתה מעביר.
השתמש בפונקציה IsDate כדי לקבוע date אם ניתן להמיר לתאריך או שעה.
CDate מזהה ליטרלי תאריך ותואר אלקטרוני של שעה, וכן מספרים מסוימים השייכים לטווח התאריכים המקובלים. בעת המרת מספר לתאריך, חלק המספר כולו הופך לתאריך. כל חלק שבר הופך לזמן ביום המתחילה בחצות.
CDate מזהה תבניות תאריך בהתאם להגדרת אזור המערכת שלך. ייתכן ש- Access לא יקבע את הסדר הנכון של יום, חודש ושנה אם תספק תבנית שונה מהגדרות התאריך המזוהות. בנוסף, תבנית זו אינה מזהה תבנית תאריך ארוכה אם היא מכילה גם את המחרוזת של היום בשבוע.
הפונקציה CVDate זמינה גם לצורך תאימות לגירסאות קודמות של Visual Basic. התחביר של CVDate זהה לפונקציה CDate . עם זאת, CVDate החזרת Variant סוג משנה שסוג Date המשנה שלו הוא במקום סוג Date ממשי. מאחר ש- Access כולל כעת סוג Date פנימי, אינך זקוק עוד ל- CVDate. באפשרותך לקבל את אותו אפקט על-ידי המרת ביטוי ל Date - ולאחר מכן הקצאתו ל- Variant. שיטה זו תואמת להמרת סוגים פנימיים אחרים לסוגי המשנה המקבילים Variant שלהם.
הערה
הפונקציה CDec אינה מחזירה סוג נתונים בדיסקרטי. במקום זאת, הוא תמיד מחזיר Variant ערך שהערך שלו הומר לסוג Decimal משנה.
דוגמאות שאילתה
| Expression | תוצאות |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
החזרת SalePrice ו FinalPrice- , והערכה אם SalePrice גדול מ- FinalPrice. מחזירה -1 אם הוא נכון ואם 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# ו- #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.