Len 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

返回一个 Long 的值,包含字符串中的字符数或存储变量所需的字节数。

语法

Len (字符串* |*varname)

Len 函数语法具有以下参数:

参数 说明
字符串 任何有效的字符串表达式。 如果 字符串 包含 Null,则返回 Null。
varname 任何有效的变量名称。 如果 varname 包含 Null,则返回 Null。 如果 varname 是 Variant, 则 Len 将其视为 字符串 ,并始终返回它包含的字符数。

备注

必须指定两个可能参数的一个 (和一个) 。 对于用户定义的类型, Len 将返回将写入文件的大小。

注意

LenB 函数用于字符串中包含的字节数据,就像在双字节字符集中 (DBCS) 语言中一样。 LenB 返回用于表示该字符串的字节数,而不是返回字符串中的字符数。 使用用户定义的类型时, LenB 返回内存中的大小,包括元素之间的任何填充。 有关使用 LenB 的示例代码,请参阅示例主题中的第二个示例。

注意

Len 可能无法确定与用户定义的数据类型中的可变长度字符串一起使用时所需的实际存储字节数。

查询示例

Expression 结果
SELECT ProductID、Len (ProductID) AS ProductLen FROM ProductSales; 返回字段“ProductID”中的值,以及 ProductLen 列中这些值的长度。

VBA 示例

注意

下面的示例演示了如何在 Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在搜索旁边的下拉列表中选择“开发人员参考”,并在搜索框中输入一个或多个术语。

第一个示例使用 Len 返回字符串中的字符数或存储变量所需的字节数。 类型...定义结束类型CustomerRecord之前必须有 关键字 (keyword) 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.

字符串函数以及如何使用它们