Κάθε συνάρτηση μετατρέπει μια παράσταση σε συγκεκριμένο τύπο δεδομένων.
Σύνταξη
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 επίσης να επιστρέφετε πάντα μια τιμή του ίδιου τύπου που μεταβιβάζετε.
Χρησιμοποιήστε τη IsDate συνάρτηση για να προσδιορίσετε εάν date μπορεί να μετατραπεί σε ημερομηνία ή ώρα.
CDate Αναγνωρίζει λεκτικές σταθερές ημερομηνίας και λεκτικές σταθερές χρόνου, καθώς και ορισμένους αριθμούς που εμπίπτουν στην περιοχή αποδεκτών ημερομηνιών. Όταν μετατρέπετε έναν αριθμό σε ημερομηνία, το ολόκληρο τμήμα του αριθμού μετατρέπεται σε ημερομηνία. Κάθε κλασματικό μέρος γίνεται μια ώρα της ημέρας που ξεκινά τα μεσάνυχτα.
CDate Αναγνωρίζει τις μορφές ημερομηνίας σύμφωνα με τις τοπικές ρυθμίσεις του συστήματός σας. Η Access ενδέχεται να μην καθορίσει τη σωστή σειρά ημέρας, μήνα και έτους, εάν παρέχετε μια μορφή διαφορετική από μία από τις ρυθμίσεις ημερομηνίας που αναγνωρίζονται. Επιπλέον, δεν αναγνωρίζει μια πλήρη μορφή ημερομηνίας εάν περιέχει επίσης τη συμβολοσειρά "ημέρα της εβδομάδας".
Η CVDate συνάρτηση είναι επίσης διαθέσιμη για λόγους συμβατότητας με παλαιότερες εκδόσεις της Visual Basic. Η σύνταξη της συνάρτησης CVDate είναι ίδια με τη CDate συνάρτηση. Ωστόσο, CVDate επιστρέφει έναν Variant του οποίου ο δευτερεύων τύπος είναι Date αντί για έναν πραγματικό Date τύπο. Επειδή η Access περιλαμβάνει τώρα έναν εγγενή Date τύπο, δεν χρειάζεται CVDateπλέον. Μπορείτε να έχετε το ίδιο αποτέλεσμα μετατρέποντας μια παράσταση σε a Date και, στη συνέχεια, αντιστοιχίζοντάς την σε a 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, ανατρέξτε στην αναφορά VBA της Access.
Συνάρτηση 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)
Αυτό το παράδειγμα χρησιμοποιεί τη 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)
Αυτό το παράδειγμα χρησιμοποιεί τη 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.