Mỗi hàm chuyển đổi một biểu thức thành một kiểu dữ liệu cụ thể.
Cú pháp
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
Đối số bắt buộc expression là bất kỳ chuỗi hay biểu thức số nào.
Các kiểu trả về
Tên hàm sẽ xác định kiểu trả về, như được hiển thị trong bảng sau đây:
| Hàm | Loại trả về | Phạm vi cho đối expression số |
|---|---|---|
CBool |
Boolean |
Bất kỳ chuỗi hay biểu thức số hợp lệ nào. |
CByte |
Byte |
0 đến 255. |
CCur |
Currency |
-922,337,203,685,477.5808 đến 922,337,203,685,477.5807. |
CDate |
Date |
Bất kỳ biểu thức ngày hợp lệ nào. |
CDbl |
Double |
-1.79769313486231E308 to -4.94065645841247E-324 cho các giá trị âm; 4.94065645841247E-324 to 1.79769313486232E308 cho các giá trị dương. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 Đối với các số thang không hoặc số không có chữ số thập phân. Đối với các số có dấu 28 phẩy thập phân, phạm vi là .+/-7.9228162514264337593543950335 Số nhỏ nhất có thể khác 0 là .0.0000000000000000000000000001 |
CInt |
Integer |
-32,768 đến 32,767; phân số được làm tròn. |
CLng |
Long |
-2,147,483,648 đến 2,147,483,647; phân số được làm tròn. |
CSng |
Single |
-3.402823E38 to -1.401298E-45 cho các giá trị âm; 1.401298E-45 to 3.402823E38 cho các giá trị dương. |
CStr |
String |
Giá trị trả về phụ thuộc vào đối expression số. |
CVar |
Variant |
Cùng phạm vi như đối Double với giá trị số. Cùng phạm vi như đối String với các giá trị không phải là số. |
Chú thích
Nếu giá trị được expression chuyển đến hàm nằm ngoài phạm vi của kiểu dữ liệu mà bạn đang chuyển đổi thành, sẽ xảy ra lỗi.
Thông thường, bạn có thể ghi lại mã của mình bằng cách sử dụng các hàm chuyển đổi kiểu dữ liệu để hiển thị rằng kết quả của một phép toán nên sử dụng một kiểu dữ liệu cụ thể thay vì kiểu mặc định. Ví dụ: dùng CCur để bắt buộc số học tiền tệ trong trường hợp số học chính xác đơn, chính xác kép hoặc số học số nguyên thường xảy ra.
Sử dụng các hàm chuyển đổi kiểu dữ liệu thay vì Val thực hiện các chuyển đổi theo phương thức ngôn ngữ từ kiểu dữ liệu này sang kiểu dữ liệu khác. Ví dụ: khi bạn sử dụng CCur, Access sẽ nhận dạng các dấu tách thập phân, dấu tách hàng nghìn và các tùy chọn tiền tệ khác nhau dựa trên cài đặt bản địa trong máy tính của bạn.
Khi phần thập phân chính xác , 0.5và CIntCLng luôn làm tròn đến số chẵn gần nhất. Ví dụ, làm 0.5 tròn đến 0, và 1.5 làm tròn đến 2.
CIntvà CLng khác với các hàm AND IntFix vốn cắt cụt phần thập phân của một số thay vì làm tròn phần đó.
Fix Đồng thời, Int luôn luôn trả về giá trị cùng kiểu mà bạn truyền vào.
Dùng IsDate hàm để xác định xem có thể chuyển đổi sang ngày hoặc giờ hay không date .
CDate Nhận dạng chữ ngày và ký tự thời gian, cũng như một số nằm trong phạm vi ngày được chấp nhận. Khi bạn chuyển đổi một số sang ngày, phần nguyên của số sẽ trở thành ngày. Bất kỳ phần thập phân nào sẽ trở thành một thời điểm bắt đầu trong ngày vào lúc nửa đêm.
CDate Nhận dạng định dạng ngày theo thiết đặt bản địa hệ thống của bạn. Access có thể không xác định đúng thứ tự ngày, tháng và năm nếu bạn cung cấp một định dạng khác với một trong các thiết đặt ngày được nhận dạng. Ngoài ra, nó không nhận diện định dạng ngày dài nếu nó cũng chứa chuỗi ngày trong tuần.
Hàm này CVDate cũng có sẵn để tương thích với các phiên bản Visual Basic cũ hơn. Cú pháp của giống CVDate với CDate hàm. Tuy nhiên, sẽ CVDate trả về một kiểu Variant con của nó thay Date vì một kiểu thực tế Date . Vì Access hiện đã tích hợp kiểu nội tạiDate, bạn không còn cần .CVDate Bạn có thể có được hiệu ứng này bằng cách chuyển đổi một biểu thức thành a, Date rồi gán biểu thức cho một .Variant Kỹ thuật này phù hợp với việc chuyển đổi các kiểu nội tại khác thành các kiểu con tương đương Variant của chúng.
Lưu ý
Hàm CDec không trả về kiểu dữ liệu rời rạc. Thay vào đó, nó luôn trả về giá trị đã Variant được chuyển đổi thành Decimal kiểu con.
Ví dụ về truy vấn
| Biểu thức | Kết quả |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
Trả về SalePrice hàm and và FinalPriceđánh giá xem có lớn hơn FinalPricehay không SalePrice . Trả về -1 nếu đó là true và 0 nếu là false. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Trả về ProductID, chuyển đổi giá trị trong Quantity trường thành Byte, và hiển thị chúng trong Expr1 cột. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Trả về ProductID, chuyển đổi giá trị trong DateofSale trường thành Date, và hiển thị chúng trong Expr1 cột. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Trả về ProductID, chuyển đổi giá trị trong Discount trường thành Double, và hiển thị chúng trong Expr1 cột. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Trả về ProductID, chuyển đổi giá trị trong Discount trường thành Integer, và hiển thị chúng trong Expr1 cột. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Trả về ProductID, chuyển đổi giá trị trong Discount trường thành Long, và hiển thị chúng trong Expr1 cột. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Trả về ProductID, chuyển đổi giá trị trong Discount trường thành Single, và hiển thị chúng trong Expr1 cột. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Trả về ProductID, chuyển đổi giá trị trong Discount trường thành String, và hiển thị chúng trong Expr1 cột. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Trả về ProductID, chuyển đổi giá trị số Discount thành Double, và chuyển đổi giá trị không phải dạng số thành .String |
Ví dụ về VBA
Lưu ý
Các ví dụ sau đây trình bày cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, hãy xem tham khảo về VBA trong Access.
Hàm CBool
Ví dụ này sử dụng CBool hàm để chuyển đổi một biểu thức sang một biểu thức Boolean. Nếu biểu thức định trị giá trị khác không, trả CBool về ; Truenếu không, biểu thức trả về 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.
Hàm CByte
Ví dụ này sử dụng CByte hàm để chuyển đổi một biểu thức sang một biểu thức Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
CCur (Hàm CCur)
Ví dụ này sử dụng CCur hàm để chuyển đổi một biểu thức sang một biểu thức 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).
Hàm CDate
Ví dụ này sử dụng CDate hàm để chuyển đổi một chuỗi thành một .Date Thông thường, ngày và giờ mã hóa cứng dưới dạng chuỗi, như minh họa trong ví dụ này, chúng tôi không được khuyến khích. Thay vào đó, hãy sử dụng ký tự ngày và nguyên dạng thời gian, như #2/12/1969# và , #4:45:23 PM#để thay thế.
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)
Hàm CDbl
Ví dụ này sử dụng CDbl hàm để chuyển đổi một biểu thức sang một biểu thức Double.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Hàm CDec
Ví dụ này sử dụng CDec hàm để chuyển đổi một giá trị số sang một .Decimal
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Hàm CInt
Ví dụ này sử dụng CInt hàm để chuyển đổi một giá trị sang một .Integer
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Hàm CLng
Ví dụ này sử dụng CLng hàm để chuyển đổi một giá trị sang một .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 (Hàm CSng)
Ví dụ này sử dụng CSng hàm để chuyển đổi một giá trị sang một .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.
Hàm CStr
Ví dụ này sử dụng CStr hàm để chuyển đổi một giá trị số sang một .String
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
CVar (Hàm CVar)
Ví dụ này sử dụng CVar hàm để chuyển đổi một biểu thức sang một biểu thức Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.