返回一个 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 的 End Type 块必须前面有 关键字 (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.