כל פונקציה כפיית ביטוי ל סוג נתונים ספציפי.
תחביר
CBool ( ביטוי )
CByte ( ביטוי )
CCur ( ביטוי )
CDate ( ביטוי )
CDbl ( ביטוי )
CDec ( ביטוי )
CInt ( ביטוי )
CLng ( ביטוי )
CSng ( ביטוי )
CStr ( ביטוי )
CVar ( ביטוי )
הביטוי הנדרשארגומנט הוא ביטוי מחרוזת או ביטוי מספרי.
סוגי החזרה
שם הפונקציה קובע את סוג ההחזרה כפי שמוצג במאמר הבא:
פונקציה |
סוג החזרה |
הארגומנט ' טווח עבור ביטוי ' |
CBool |
בוליאני |
כל מחרוזת או ביטוי מספרי חוקי. |
CByte |
בית |
0 עד 255. |
CCur |
מטבע |
-922,337,203,685,477.5808 עד 922,337,203,685,477.5807. |
CDate |
תאריך |
כל ביטוי תאריך חוקי. |
CDbl |
Double |
-1.79769313486231 e308 to |
CDec |
Decimal |
+/-79228162514264337593543950335 עבור מספרים עם קנה מידה אפס, כלומר, מספרים ללא מקומות עשרוניים. עבור מספרים עם 28 מקומות עשרוניים, הטווח הוא |
CInt |
מספר שלם |
-32,768 עד 32,767; השברים מעוגלים. |
CLng |
זמן |
-2,147,483,648 עד 2,147,483,647; השברים מעוגלים. |
CSng |
Single |
-3.402823 e38 to-1.401298 E-45 עבור ערכים שליליים; 1.401298 e-45 to 3.402823 E38 עבור ערכים חיוביים. |
CStr |
String |
החזרות עבור CStr תלויות בארגומנט expression . |
CVar |
Variant |
אותו טווח כמו Double עבור מספרים מספריים. טווח זהה למחרוזת עבור פריטים שאינם מספריים. |
הערות
אם הביטוי שהועבר לפונקציה נמצא מחוץ לטווח של סוג הנתונים שהומר אליו, תתרחש שגיאה.
באופן כללי, באפשרותך לתעד את הקוד באמצעות פונקציות ההמרה של סוג הנתונים כדי להראות שהתוצאה של פעולה מסוימת צריכה להיות מבוטאת כסוג נתונים מסוים במקום כסוג הנתונים המוגדר כברירת מחדל. לדוגמה, השתמש ב- CCur כדי לכפות חשבון מטבע במקרים שבהם החשבון ' דיוק בודד ', ' דיוק כפול ' או ' מספר שלם ' יתרחש בדרך כלל.
עליך להשתמש בפונקציות ההמרה מסוג נתונים במקום ב- Val כדי לספק המרות מודעות בינלאומית מסוג נתונים אחד לשני. לדוגמה, כאשר אתה משתמש ב- CCur, מפרידים עשרוניים שונים, מפרידי אלפים שונים ואפשרויות מטבע שונות מזוהות כראוי בהתאם להגדרת האזור של המחשב.
כאשר חלק השבר הוא בדיוק 0.5, CInt ו- CLng תמיד מעוגלים אותו למספר הזוגי הקרוב ביותר. לדוגמה, 0.5 מעוגל ל-0 ו-1.5 מעוגל ל-2. CInt ו- CLng שונים מהפונקציות 'תיקון ' ', החותכות במקום את החלק החלקי של מספר. כמו כן, Fix ו- Int מחזירות תמיד ערך מאותו סוג כפי שהועבר.
השתמש בפונקציה IsDate כדי לקבוע אם ניתן להמיר תאריך לתאריך או שעה. CDate מזהה ערכים מילוליים של תאריך ושעה, וכן כמה מספרים שנמצאים בטווח של תאריכים מקובלים. בעת המרת מספר לתאריך, חלק המספר כולו מומר לתאריך. כל חלק שבר של המספר מומר לשעה ביום, החל מחצות.
CDate מזהה תבניות תאריך בהתאם להגדרת ה אזור של המערכת. ייתכן שהמסדר הנכון של היום, החודש והשנה לא ייקבע אם הוא מופיע בתבנית שאינה אחת מהגדרות התאריך המוכרות. בנוסף, תבנית תאריך ארוך אינה מזוהה אם היא מכילה גם את מחרוזת היום בשבוע.
בנוסף, הפונקציה CVDate מספקת תאימות לגירסאות קודמות של Visual basic. התחביר של הפונקציה CVDate זהה לפונקציית CDate , עם זאת, CVDate מחזירה משתנה שסוג המשנה שלו הוא date במקום סוג תאריך בפועל. מאחר שקיים כעת סוג תאריך פנימי, אין צורך בCVDate. ניתן להשיג את אותו אפקט על-ידי המרת ביטוי לתאריך ולאחר מכן הקצאתם למשתנה. טכניקה זו תואמת להמרת כל הסוגים הפנימיים האחרים לסוגי המשנה של המשתנים המקבילים.
הערה: הפונקציה CDec אינה מחזירה סוג נתונים נפרד; במקום זאת, הפונקציה מחזירה תמיד Variant שהערך שלו הוסב לסוג משנה עשרוני .
דוגמאות של שאילתה
ביטוי |
תוצאות |
בחר SalePrice, FinalPrice, CBool (SalePrice>FinalPrice) כExpr1 מ-productSales; |
פונקציה זו מחזירה את "SalePrice", "FinalPrice" ומעריכה אם SalePrice גדול מהמחיר הסופי. מחזירה את הערך " -1" אם true ו-"0" אם false. |
בחר ProductID, CByte (כמות) כExpr1 מ-productSales; |
החזרת "ProductID", המרת הערכים בשדה "כמות" לבתים והצגה בעמודה Expr1 מחזירה את ההודעה "ProductID", המרת הערכים בשדה "כמות" לתבנית מטבע והצגה בעמודה Expr1. |
בחר ProductID, CDate (DateofSale) כExpr1 מ-productSales; |
מחזירה את ההודעה "ProductID", ממירה את הערכים בשדה "DateofSale" לתבנית תאריך ומוצגת בעמודה Expr1. |
בחר ProductID, CDbl (הנחה) כExpr1 מ-productSales; |
החזרת "ProductID", המרת הערכים בשדה "הנחה" לתבנית כפולה והצגה בעמודה Expr1. |
בחר ProductID, CInt (הנחה) כExpr1 מ-productSales; |
החזרת "ProductID", המרת הערכים בשדה "הנחה" לתבנית מספר שלם והצגה בעמודה Expr1. |
בחר ProductID, CLng (הנחה) כExpr1 מ-productSales; |
החזרת "ProductID", המרת הערכים בשדה "הנחה" לתבנית ארוכה ומוצגת בעמודה Expr1. |
בחר ProductID, CSng (הנחה) כExpr1 מ-productSales; |
החזרת "ProductID", המרת הערכים בשדה "הנחה" לתבנית יחידה ומוצגת בעמודה Expr1. |
בחר ProductID, CStr (הנחה) כExpr1 מ-productSales; |
החזרת "ProductID", המרת הערכים בשדה "הנחה" לתבנית מחרוזת ומוצגת בעמודה Expr1. |
בחר ProductID, CVar (הנחה) כExpr1 מ-productSales; |
החזרת "ProductID", המרת הערכים בשדה "הנחה" לכפולה עבור ערכים מספריים ומחרוזת עבור ערכים שאינם מספריים. |
דוגמאות של VBA
הערה: הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.
הפונקציה CBool
עצה: בונה הביטויים עם IntelliSense המתחיל ב-Access 2010 מסייע בהשגת הביטויים שלך לימין.
דוגמה זו משתמשת בפונקציה CBool כדי להמיר ביטוי לערך בוליאני. אם הביטוי מוערך כערך שאינו אפס, הפונקציה 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 כדי להמיר ביטוי לבית.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
הפונקציה CCur
דוגמה זו משתמשת בפונקציה CCur כדי להמיר ביטוי למטבע.
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 כדי להמיר מחרוזת לתאריך. באופן כללי, קידוד קשיח של תאריכים ושעות כמחרוזות (כפי שמוצג בדוגמה זו) אינו מומלץ. השתמש בערכים מילוליים של תאריכים וערכים מילוליים של זמן, כגון #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 כדי להמיר ביטוי לכפולה.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
הפונקציה CDec
דוגמה זו משתמשת בפונקציה CDec כדי להמיר ערך מספרי למספר עשרוני.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
הפונקציה CInt
דוגמה זו משתמשת בפונקציה CInt כדי להמיר ערך למספר שלם.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
הפונקציה CLng
דוגמה זו משתמשת בפונקציה CLng כדי להמיר ערך לארוך.
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 כדי להמיר ערך ליחיד.
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 כדי להמיר ערך מספרי למחרוזת.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
הפונקציה CVar
דוגמה זו משתמשת בפונקציה CVar כדי להמיר ביטוי למשתנה.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.