Επιστρέφει μια τιμή Εκτεταμένης ακρίβειας που περιέχει τον αριθμό των χαρακτήρων μιας συμβολοσειράς ή τον αριθμό των byte που απαιτούνται για την αποθήκευση ενός μεταβλητή.
Σύνταξη
Len( συμβολοσειρά | όνομα_μεταβλητής)
Η σύνταξη της συνάρτησης Len περιλαμβάνει τα παρακάτω ορίσματα:
Όρισμα |
Περιγραφή |
συμβολοσειρά |
Οποιοσδήποτε έγκυρος παράσταση συμβολοσειράς. Εάν το όρισμα συμβολοσειρά περιέχει την τιμή Null, τότε επιστρέφεται η τιμή Null. |
όνομα_μεταβλητής |
Οποιοδήποτε έγκυρο όνομα μεταβλητή. Εάν το όνομα_μεταβλητής περιέχει την τιμή Null, τότε επιστρέφεται η τιμή Null. Εάν το όνομα_μεταβλητής είναι μια Μεταβλητή, η Len την αντιμετωπίζει ως Συμβολοσειρά και επιστρέφει πάντα τον αριθμό των χαρακτήρων που περιέχει. |
Παρατηρήσεις
Πρέπει να καθοριστεί ένα (και μόνο ένα) από τα δύο πιθανά ορίσματα. Με τους τύπους που ορίζονται από τον χρήστη, η Len επιστρέφει το μέγεθος όπως θα εγγράφεται στο αρχείο.
Σημείωση: Χρησιμοποιήστε τη συνάρτηση LenB με δεδομένα byte που περιέχονται σε μια συμβολοσειρά, όπως σε γλώσσες συνόλου χαρακτήρων δύο byte (DBCS). Αντί να επιστρέψει τον αριθμό των χαρακτήρων σε μια συμβολοσειρά, η LenB επιστρέφει τον αριθμό των byte που χρησιμοποιούνται για την αναπαράσταση της συμβολοσειράς. Με τους τύπους που ορίζονται από τον χρήστη, η εφαρμογή LenB επιστρέφει το μέγεθος της μνήμης, συμπεριλαμβανομένης οποιασδήποτε αναπλήρωσης μεταξύ των στοιχείων. Για παράδειγμα κώδικα που χρησιμοποιεί lenB, ανατρέξτε στο δεύτερο παράδειγμα στο παράδειγμα θέματος.
Σημείωση: Ο Len ενδέχεται να μην μπορεί να προσδιορίσει τον πραγματικό αριθμό των byte αποθήκευσης που απαιτούνται όταν χρησιμοποιούνται με συμβολοσειρές μεταβλητού μήκους σε τύπους δεδομένων που ορίζονται από τον χρήστη.
Παράδειγμα ερωτήματος
Expression |
Αποτελέσματα |
SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; |
Επιστρέφει τις τιμές από το πεδίο "Κωδ_Προϊόντος" και το μήκος αυτών των τιμών στις στήλες ProductLen. |
Παραδείγματα VBA
Σημείωση: Παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε Αναφορά προγραμματιστών στην αναπτυσσόμενη λίστα δίπλα στην Αναζήτηση και πληκτρολογήστε έναν ή περισσότερους όρους στο πλαίσιο αναζήτησης.
Το πρώτο παράδειγμα χρησιμοποιεί τη len για να επιστρέψει τον αριθμό των χαρακτήρων μιας συμβολοσειράς ή τον αριθμό των byte που απαιτούνται για την αποθήκευση μιας μεταβλητής. Ο Τύπος... Πριν από τον ορισμό CustomerRecord μπλοκ τελικού τύπου πρέπει να προηγείται η λέξη-κλειδί Private , εάν εμφανίζεται σε μια λειτουργική μονάδα κλάσης. Σε μια τυπική λειτουργική μονάδα, μια πρόταση Type μπορεί να είναι Δημόσια.
Type CustomerRecord ' Define user-defined type.
ID As Integer ' Place this definition in a Name As String * 10 ' standard module. Address As String * 30 End Type Dim Customer As CustomerRecord ' Declare variables. Dim MyInt As Integer, MyCur As Currency Dim MyString, MyLen MyString = "Hello World" ' Initialize variable. MyLen = Len(MyInt) ' Returns 2. MyLen = Len(Customer) ' Returns 42. MyLen = Len(MyString) ' Returns 11. MyLen = Len(MyCur) ' Returns 8.
Το δεύτερο παράδειγμα χρησιμοποιεί το LenB και μια συνάρτηση που ορίζεται από το χρήστη (LenMbcs) για να επιστρέψει τον αριθμό των χαρακτήρων των byte σε μια συμβολοσειρά, εάν χρησιμοποιείται ansi για την αναπαράσταση της συμβολοσειράς.
Function LenMbcs (ByVal str as String)
LenMbcs = LenB(StrConv(str, vbFromUnicode)) End Function Dim MyString, MyLen MyString = "ABc" ' Where "A" and "B" are DBCS and "c" is SBCS. MyLen = Len(MyString) ' Returns 3 - 3 characters in the string. MyLen = LenB(MyString) ' Returns 6 - 6 bytes used for Unicode. MyLen = LenMbcs(MyString) ' Returns 5 - 5 bytes used for ANSI.