access 中有时候输入需要掩码。同时想保存掩码中的符号比如 9999-99-99;0; 第一个分隔号后面必须要加0才会保存”-“ 这个号。
一下为MSDN内容
InputMask 属性
参阅 应用于 示例 特性
使用 InputMask 属性可以使数据输入更容易,并且可以控制用户可在文本框类型的控件中输入的值。String 型,可读写。
expression.InputMask
expression 必需。返回“应用于”列表中的一个对象的表达式。
说明
输入掩码对于数据输入操作很有用,例如可以为“电话号码”字段创建一个输入掩码,向用户显示如何准确输入新号码:(___)___-____。通常,对于用户来说使用输入掩码向导设置属性更为方便。
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)。 |
注释 将 InputMask 属性设为“密码”,可创建密码输入控件。在该控件中键入的任何字符都将以原字符保存,但显示为星号(*)。使用“密码”输入掩码可以避免在屏幕上显示键入的字符。
对于控件,可以在控件的属性表中设置该属性。对于表中的字段,可以在表“设计”视图(“字段属性”节中)或“查询”窗口的“设计”视图(“字段属性”属性表中)设置该属性。
也可以使用宏或 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 |