通过为包含始终具有特定格式的数据的字段提供输入掩码,可以帮助用户将数据正确地输入 Access 桌面数据库。 例如,可以使用输入掩码确保用户将格式正确的电话号码输入“电话号码”字段。
输入掩码只会影响 Access 是否接受数据 - 掩码不更改数据的存储方式。存储方式由字段的数据类型和其他属性控制。 有关 Access 中数据存储方式的详细信息,请参阅文章数据类型和字段属性简介。
本文内容
关于输入掩码
输入掩码是表示有效输入值格式的字符串。 您可以在表字段、查询字段以及窗体和报表上的控件中使用输入掩码。 输入掩码存储为对象属性。
当输入值的格式一致性非常重要时,您可以使用输入掩码。 例如,您可以在存储电话号码的字段中使用输入掩码,以便 Access 需要十位数的输入。 如果有人输入不带地区代码的电话号码,Access 不会写入该数据,除非添加上区号。
输入掩码的三个部分
输入掩码由一个必需部分和两个可选部分组成,每个部分用分号隔开。 每个部分的用途如下所示:
-
第一部分是必需的。 它包括掩码字符或字符串(字符系列)和字面数据(例如,括号、句点和连字符)。
-
第二部分是可选的,它指的是嵌入式掩码字符和它们在字段中的存储方式。 如果第二部分设置为“0”,则这些字符与数据存储在一起;如果设置为“1”,则仅显示而不存储这些字符。 将第二部分设置为“1”可以节省数据库存储空间。
-
输入掩码的第三部分也是可选的,指明用作占位符的单个字符或空格。 默认情况下,Access 使用下划线 (_)。 如果希望使用其他字符,请在掩码的第三部分中输入。
例如,下面是美国格式的电话号码输入掩码:(999) 000-000;0;-:
-
该掩码使用了两个占位符字符 9 和 0。 9 指示可选位(选择性地输入区号),而 0 指示强制位。
-
输入掩码的第二部分中的 0 指示掩码字符将与数据一起存储。
-
输入掩码的第三部分指定连字符 (-) 而不是下划线 (_) 将用作占位符字符。
定义输入掩码的字符
下表列出了输入掩码的占位符和字面字符,并说明了它如何控制数据输入:
字符 |
说明 |
---|---|
0 |
用户必须输入一个数字(0 到 9)。 |
9 |
用户可以输入一个数字(0 到 9)。 |
# |
用户可以输入一个数字、空格、加号或减号。 如果跳过,Access 会输入一个空格。 |
L |
用户必须输入一个字母。 |
? |
用户可以输入一个字母。 |
A |
用户必须输入一个字母或数字。 |
a |
用户可以输入一个字母或数字。 |
& |
用户必须输入一个字符或空格。 |
C |
用户可以输入字符或空格。 |
. , : ; - / |
小数分隔符、千位分隔符、日期分隔符和时间分隔符。 您选择的字符取决于 Microsoft Windows 区域设置。 |
> |
其后的所有字符都以大写字母显示。 |
< |
其后的所有字符都以小写字母显示。 |
! |
导致从左到右(而非从右到左)填充输入掩码。 |
\ |
逐字显示紧随其后的字符。 |
"" |
逐字显示括在双引号中的字符。 |
避免在 Access 中使用输入掩码的情况
虽然输入掩码非常有用,但不是每种情况都适合输入掩码。 如果您符合以下情况,请不要使用输入掩码:
-
人们有时需要不匹配输入掩码的数据。 输入掩码不允许例外。
-
您计划使用带日期/时间字段的“日期选取器”控件。 输入掩码与“日期选取器”控件不兼容。
使用输入掩码向导向表字段添加输入掩码
您可以对设置为文本、数字(ReplicationID 除外)、货币和日期/时间数据类型的字段使用输入掩码。
注意: 如果对日期/时间字段使用输入掩码,则日期选取器控件将对该字段不可用。
-
在导航窗格中,右键单击表,然后单击快捷菜单上的“设计视图”。
-
单击要添加输入掩码的字段。
-
在“字段属性”下的“常规”选项卡上,单击“输入掩码”属性框。
-
单击“ 生成 ”按钮 启动输入掩码向导。
-
在“输入掩码”列表中,选择要添加的掩码类型。
-
单击“尝试”,并输入数据以测试掩码如何显示。
-
要保留输入掩码而不做任何更改,单击“下一步”。
-
选择希望如何存储数据的选项。
-
单击“完成”保存更改。
向查询中添加输入掩码
-
在导航窗格中,右键单击要更改的查询,然后单击快捷菜单上的“设计视图”。
-
在查询设计网格中,将指针放在要更改的字段所在的列中。
可以将光标放在该字段所在的任何行中。
-
按 F4 打开该字段的属性表。
-
在“字段属性”下的“常规”选项卡上,单击“输入掩码”属性框。
-
单击“ 生成 ”按钮 启动“输入掩码向导”,然后按照向导中的说明进行操作。
向窗体或报表控件添加输入掩码
-
在导航窗格中,右键单击要更改的窗体或报表,然后单击快捷菜单上的“设计视图”。
-
右键单击要更改的控件,然后单击快捷菜单上的“属性”。
-
在“全部”选项卡上,单击“输入掩码”属性框。
-
单击“ 生成 ”按钮 启动“输入掩码向导”,然后按照向导中的说明进行操作。
创建自定义输入掩码
尽管输入掩码向导提供的输入掩码可满足最常见的格式需求,但有时候,可能希望自定义输入掩码以更好地满足自己的需要。 可以通过从输入掩码向导更改预定义掩码或者手动更改要应用掩码的字段的输入掩码属性来自定义输入掩码。
从输入掩码向导自定义输入掩码
-
在“设计”视图中打开对象,然后单击要在其中添加自定义输入掩码的字段。
-
单击“ 生成 启动输入掩码向导。
-
单击“编辑列表”。
“自定义输入掩码向导”对话框随即出现。
-
移至对话框中的新记录,并在“说明”文本框中输入新的说明。
-
在“输入掩码”文本框中,使用表列表中允许的字符输入字符和占位符。
-
单击“掩码类型”向下箭头,然后选择合适的掩码类型。
-
单击“关闭”。 新的输入掩码显示在列表中。
从字段属性设置自定义输入掩码
-
在导航窗格中,右键单击对象,然后单击快捷菜单上的“设计视图”。
-
单击要创建自定义输入掩码的字段。
-
在“字段属性”区域中,单击“输入掩码”文本框,然后键入您的自定义掩码。
-
按 Ctrl+S 保存所做的更改。
必须为“数字”和“货币”字段手动键入输入掩码定义。
输入掩码示例
下表中的示例说明使用输入掩码的一些方法。
输入掩码 |
提供此类型的值 |
说明 |
---|---|---|
(000) 000-0000 |
(206) 555-0199 |
在本例中,您必须输入区号,因为这一部分掩码(000,括在圆括号中)使用占位符 0。 |
(999) 000-0000! |
(206) 555-0199 ( ) 555-0199 |
在本例中,区号部分使用占位符 9,因此区号是可选的。 此外,感叹号 (!) 会导致从左到右填充掩码。 |
(000) AAA-AAAA |
(206) 555-TELE |
允许您将美国样式的电话号码中的 最后四位替换为字母。 请注意,在区号部分使用占位符 0 会使区号成为强制的。 |
#999 |
-20 2000 |
任何正数或负数,不超过四个字符,不带千位分隔符或小数位。 |
>L????L?000L0 |
GREENGR339M3 MAY R 452B7 |
强制字母 (L) 和可选字母 (?) 与强制数字 (0) 的组合。 大于号强制用户以大写形式输入所有字母。 若要使用这种类型的输入掩码,必须将表字段的数据类型设置为“文本”或“备注”。 |
00000-9999 |
98115- 98115-3007 |
一个强制的邮政编码和一个可选的四数字部分。 |
>L<?????????????? |
Maria Pierre |
名字或姓氏中的第一个字母自动大写。 |
ISBN 0-&&&&&&&&&-0 |
ISBN 1-55615-507-7 |
书号,其中包含文本、第一位和最后一位(这两位都是强制的)、第一位和最后一位之间字母和字符的任何组合。 |
>LL00000-0000 |
DB51392-0493 |
强制字母和字符的组合,均采用大写形式。 例如,使用这种类型的输入掩码可以帮助用户正确输入部件号或其他形式的清单。 |
为电子邮件地址使用输入掩码
由于电子邮件地址所包含的字符数千变万化,输入掩码并不能很好地确保正确输入电子邮件地址。 相反,我们建议使用“有效性规则”和“有效性文本”属性。
下表所示的验证规则确保输入的电子邮件地址依次包含一个或多个字符、“@”符号、一个或多个字符、句点和一个或多个字符。 例如,允许 tom@example.com,但不允许 tom@example,com 或 tom@example。 如果输入的电子邮件地址与验证规则不匹配,则 Access 不接受输入,并在“有效性文本”属性中显示消息。 如果没有在“有效性文本”属性框中输入文本,Access 显示常规消息。
属性 |
设置 |
---|---|
有效性规则 |
Is Null Or ((Like "*?@?*.?*") And (Not Like "*[ ,;]*")) |
有效性文本(可选) |
请输入带“@”号和完整域名的电子邮件地址(例如“'frank@contoso.com”)。 |
有关使用有效性规则的详细信息和分步过程,请参阅文章使用有效性规则限制数据输入。