Len 函數

Applies To
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

會傳回一個 Long,其中包含一個字串中的字元數或儲存一個變數所需的位元組數。

語法

長度 (字串* |*varname)

Len 函數語法具有下列引數:

引數 描述
string 任何有效的字串運算式。 如果 字串 包含 Null,則會傳回 Null。
varname 任何有效的變數名稱。 如果 varname 包含 Null,則會傳回 Null。 如果 varnameVariant,Len 會將其視為 String ,且一律會傳回它所包含的字元數。

註解

必須指定兩個可能引數中的一個 (且僅指定一個) 。 使用使用者定義的類型時, Len 會傳回寫入檔案時的大小。

注意

使用 LenB 函數搭配字串中包含的位元組資料,例如雙位元組字元集 (DBCS) 語言。 LenB 不是傳回字串中的字元數,而是傳回用來表示該字串的位元組數。 使用使用者定義的類型時, LenB 會傳回記憶體內大小,包括元素之間的任何填補。 如需使用 LenB 的範例程式碼,請參閱範例主題中的第二個範例。

注意

在使用者定義的資料類型中使用可變數長度字串時,Len 可能無法判斷所需的實際儲存位元組數目。

查詢範例

運算式 結果
SELECT ProductID, Len (ProductID) AS ProductLen FROM ProductSales; 傳回 “ProductID” 欄位中的值,以及 ProductLen 欄中這些值的長度。

VBA 範例

注意

下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

第一個範例使用 Len 傳回字串中的字元數或儲存變數所需的位元組數。 類型...如果類別模組中出現 End Type 區塊CustomerRecord定義,則必須在定義關鍵字 Private 之前加上關鍵字。 在標準模組中, Type 陳述式可以是 Public

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) ,在使用 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.

字串函數及其使用方法