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