Mid Function

Returns a Variant (String) containing a specified number of characters from a string.


Mid(string, start [, length ] )

The Mid function syntax has these arguments (argument: A value that provides information to an action, an event, a method, a property, a function, or a procedure.):

Argument Description
string Required. string expression (string expression: An expression that evaluates to a sequence of contiguous characters. Elements of the expression can be: functions that return a string or a string Variant (VarType 8); a string literal, constant, variable, or Variant.) from which characters are returned. If string contains Null (Null: A value you can enter in a field or use in expressions or queries to indicate missing or unknown data. In Visual Basic, the Null keyword indicates a Null value. Some fields, such as primary key fields, can't contain a Null value.), Null is returned.
start Required. Long (Long data type: A fundamental data type that holds large integers. A Long variable is stored as a 32-bit number ranging in value from -2,147,483,648 to 2,147,483,647.). Character position in string at which the part to be taken begins. If start is greater than the number of characters in string, Mid returns a zero-length string ("").
length Optional. Variant (Long). Number of characters to return. If omitted or if there are fewer than length characters in the text (including the character at start), all characters from the start position to the end of the string are returned.


To determine the number of characters in string, use the Len function.

 Note   Use the MidB function with byte data contained in a string, as in double-byte character set languages. Instead of specifying the number of characters, the arguments (argument: A value that provides information to an action, an event, a method, a property, a function, or a procedure.) specify numbers of bytes. For sample code that uses MidB, see the second example in the example topic.


 Note   Examples that follow demonstrate the use of this function in a Visual Basic for Applications (VBA) module. For more information about working with VBA, select Developer Reference in the drop-down list next to Search and enter one or more terms in the search box.

The first example uses the Mid function to return a specified number of characters from a string.

Dim MyString, FirstWord, LastWord, MidWords

MyString = "Mid Function Demo"    ' Create text string.

FirstWord = Mid(MyString, 1, 3)    ' Returns "Mid".
LastWord = Mid(MyString, 14, 4)    ' Returns "Demo".
MidWords = Mid(MyString, 5)    ' Returns "Function Demo".


The second example use MidB and a user-defined function (MidMbcs) to also return characters from string. The difference here is that the input string is ANSI and the length is in bytes.

Function MidMbcs(ByVal str as String, start, length)

    MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), _
              start, length), vbUnicode)
End Function

Dim MyString

MyString = "AbCdEfG"
' Where "A", "C", "E", and "G" are DBCS and "b", "d", 
' and "f" are SBCS.

MyNewString = Mid(MyString, 3, 4)
' Returns ""CdEf"

MyNewString = MidB(MyString, 3, 4)
' Returns ""bC"

MyNewString = MidMbcs(MyString, 3, 4)
' Returns "bCd"

Applies to:
Access 2010, Access 2007