Having a bit of trouble using this, I'm using access 2002 and it keeps
converting the "?" at the start to a PRINT instruction. and I can't
understand the help on the Lan instruction/function
Here is what VBA Help came up with
***************************************************
Len Function Example
The first example uses Len to return the number of characters in a string or
the number of bytes required to store a variable. The Type...End Type block
defining CustomerRecord must be preceded by the keyword Private if it
appears in a class module. In a standard module, a Type statement can be
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.
The second example uses LenB and a user-defined function (LenMbcs) to return
the number of byte characters in a string if ANSI is used to represent the
string.
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.
*******************************************************
What do you think of that lot??
Regards
Brett.