!\(999") "000\-0000;0;_
This input mask uses the optional second and third parts. The 0 for the
second part tells ACCESS to store the "embedded literal characters" (namely,
the leading (, the trailing ) and space, and the hyphen) with the numerals
when the data are stored in the database. As such, ACCESS will store "(412)
555-1234" as the text string in the table's field instead of "4125551234"
when you put a 0 in the second part; putting a 1 in the second part will
store the data just as the numerals. The _ in the third part tells ACCESS
which placeholder character to show when the user is entering data in the
input mask; in this case, an underscore character.
!\(999\)\ 999\-9999
This input mask essentially is the same as the first one with respect to
the characters to be displayed (the leading (, the trailing ), the space,
and the hyphen); the only difference is that an escape character (the \) is
used for each character. In the first one above, the sequence
\)\ (note that there is a space after the second \ character
here)
has been changed by ACCESS to
") "
which is using a text string to represent the characters to be displayed
instead of escaping each character -- the result is the same and I assume
that ACCESS thinks it's more clear to the user to show the text string
instead of the escape character + literal character sequence. This mask also
leaves out the second and third parts, so ACCESS defaults to a value of 1
for the second part, and _ for the third part.
By the way, this behavior by ACCESS of putting text strings in place of
literal characters also can be seen when you type "date/time" formats into
the Format property (e.g., mmm dd, yyyy will be changed by ACCESS to mmm"
"dd", "yyyy).