使用 InputMask 属性可以使数据输入更容易,并且可以控制用户可在文本框类型的控件中输入的值。String 型,可读写。
expression.InputMask
expression 必需。返回“Applies To”列表中的一个对象的表达式。
输入掩码对于数据输入操作很有用,例如可以为“电话号码”字段创建一个输入掩码,向用户显示如何准确输入新号码:(___)___-____。通常,对于用户来说使用输入掩码向导设置属性更为方便。
InputMask 属性最多可包含三个用分号 (;) 分隔的节:
| 节 | 说明 | 
|---|---|
| 第一节 | 指定输入掩码的本身,例如,!(999) 999-9999。如果要查看可以用来定义输入掩码的字符列表,请参阅下表。 | 
| 第二节 | 在输入数据时,指定 Microsoft Access 是否在表中保存字面显示字符。如果在该节使用 0,所有字面显示字符(例如,电话号码输入掩码中的括号)都与数值一同保存;如果输入了 1 或未在该节中输入任何数据,则只有键入到控件中的字符才能保存。 | 
| 第三节 | 指定 Microsoft Access 为一个空格所显示的字符,而这个空格应该在输入掩码中键入字符的地方。对于该节,可以使用任何字符,如果要显示空字符串,则需要将空格用双引号 (" ") 括起。 | 
在 Visual Basic 中,使用字符串表达式可以设置该属性。例如,以下为键入电话号码的文本框控件指定了所需的输入掩码:
Forms!Customers!Telephone.InputMask = "(###) ###-####"
在创建输入掩码时,可以使用特殊字符来要求某些必须输入的数据(例如,电话号码的区号),而其他数据则是可选的(例如电话分机号码)。这些字符指定了在输入掩码中必须输入的数据类型,例如数字或字符。
可以使用以下的字符来定义输入掩码:
| 字符 | 说明 | 
|---|---|
| 0 | 数字(0 到 9,必需输入,不允许加号 [+] 与减号 [–])。 | 
| 9 | 数字或空格(非必需输入,不允许加号和减号)。 | 
| # | 数字或空格(非必需输入;在“编辑”模式下空格显示为空白,但是在保存数据时空白将删除;允许加号和减号) | 
| L | 字母(A 到 Z,必需输入)。 | 
| ? | 字母(A 到 Z,可选输入)。 | 
| A | 字母或数字(必需输入)。 | 
| a | 字母或数字(可选输入)。 | 
| & | 任一字符或空格(必需输入)。 | 
| C | 任一字符或空格(可选输入)。 | 
| . , : ; - / | 小数点占位符及千位、日期与时间的分隔符。(实际的字符将根据 Windows“控制面板”中“区域设置属性”对话框中的设置而定)。 | 
| < | 将所有字符转换为小写。 | 
| > | 将所有字符转换为大写。 | 
| ! | 使输入掩码从右到左显示,而不是从左到右显示。键入掩码中的字符始终都是从左到右填入。可以在输入掩码中的任何地方包括感叹号。 | 
| \ | 使接下来的字符以字面字符显示(例如,\A 只显示为 A)。 | 
对于控件,可以在控件的属性表中设置该属性。对于表中的字段,可以在表“设计”视图(“字段属性”节中)或“查询”窗口的“设计”视图(“字段属性”属性表中)设置该属性。
也可以使用宏或 Visual Basic 设置 InputMask 属性。
在已经定义了输入掩码的字段中键入数据时,数据始终以“覆盖”模式进行输入。如果使用 Backspace 来删除某个字符,字符将由空格来替换。
如果将文本从一个已定义了输入掩码的字段中移到“剪贴板”上,即使已经指定了字面显示字符不与数据一起保存,它们仍被复制。
注意 输入掩码只影响直接在控件或组合框中键入的字符。当导入数据、执行操作查询时,或在 Visual Basic 中通过设置控件的 Text 属性在控件上输入字符,或在宏中使用 SetValue 操作输入字符时,Microsoft Access 都将忽略任何输入掩码。
如果为同一字段定义了输入掩码,同时又设置了 Format 属性,Format 属性将在数据显示时优先于输入掩码。这意味着即使已经保存了输入掩码,在数据设置了格式并显示时,仍将忽略输入掩码。位于基础表的数据本身并没有更改,Format 属性只影响数据的显示方式。
下表显示了一些有用的输入掩码以及可以在其中输入的数值类型:
| 输入掩码 | 示例数值 | 
|---|---|
| (000) 000-0000 | (206) 555-0248 | 
| (999) 999-9999 | (206) 555-0248 | 
| ( ) 555-0248 | |
| (000) AAA-AAAA | (206) 555-TELE | 
| #999 | -20 | 
| 2000 | |
| >L????L?000L0 | GREENGR339M3 | 
| MAY R 452B7 | |
| >L0L 0L0 | T2F 8M4 | 
| 00000-9999 | 98115- | 
| 98115 -3007 | |
| >L<?????????????? | Maria | 
| Brendan | |
| SSN 000-00-0000 | SSN 555-55-5555 | 
| >LL00000-0000 | DB51392-0493 |