2.4.4 字段属性

2.4.4 字段属性

在如图2-14所示的表设计器窗口下部的“常规”选项卡中列出了不同数据类型字段的字段属性。这些属性将反映字段存储和展示的方式。下面介绍表设计过程中常见的字段属性设置。

1.字段大小

只有文本、数字和自动编号类型的数据有此属性。对于文本类型的数据,“字段大小”指文本所包含字符的个数,默认值为255,可在1~255之间选择。对于数字类型,“字段大小”指数据所占的内存空间大小。如字节类型占1个字节,整型占2个字节,长整型占4个字节,单精度占4个字节,双精度占8个字节。自动编号类型的字段大小默认为长整型。

2.格式

“格式”属性用于设置数值、日期、时间和文本的显示及打印方式,其可用选项与字段的数据类型有关。如:货币类型数据在显示时可设置是否显示货币符号,以及显示何种货币符号;日期类型数据可选择长格式或短格式进行显示。值得注意的一点是,“格式”属性的设置并不改变数据在内存中的存储格式,仅仅改变数据显示和打印的风格。

3.输入掩码

“输入掩码”属性控制如何把数据输入到特定的字段中,起引导数据输入作用,主要用于文本、数字、日期/时间和货币类型。如用户需要输入电话号码,“输入掩码”能够创建每个人都熟悉的字符和结构。

Access中有一个称为“输入掩码向导”的工具。利用向导,用户可选择常用的输入掩码。要调用该向导,把光标定位到需要输入掩码的域内,单击右方带省略号的按钮即可。“输入掩码向导”如图2-15所示。

img27

图2-15 “输入掩码向导”工具

用户也可以通过使用一些有特殊含义的字符来定义“输入掩码”,表2-2是一些字符含义的说明。

表2-2 “输入掩码”中特殊字符的含义

img28

完整的“输入掩码”由三个部分组成:掩码字符串、保存设置和占位符,各个部分之间用分号分割。其中掩码字符串包括字面字符和掩码字符。字面字符指原样输出的字符,一般包含在一对双引号中。掩码字符由表2-2中的特殊字符构成。保存设置决定输入掩码是否与数据一起存储到数据库中,0为保存,1为不保存。占位符用来指示数据位置,默认为下划线。如在输入电话号码时,假设电话号码格式为“0552-********”,其中*为必须输入的任意数字。可将“输入掩码”设置为“"0552"-00000000;0;*”。

4.小数位数

对于数字和货币类型的数据,可设置小数点右边的小数位数。有一个“自动”设置选项,它根据“格式”属性的设置来确定正确的小数位数。另外,用户也可以在0~15之间任意选择一个值作为小数位数。当字段大小为字节、整型或长整型时,小数位数只能为0;当字段为单精度时,小数位数可以在0~7之间;当字段是双精度时,小数位数可以是0~15。如果不对一个数字型字段的“格式”属性进行设置,或者将此属性设置为“常规数字”,则“小数位数”属性设置无效;如果将一个数字型字段的格式属性设置为货币、固定、欧元或标准格式之一,小数位数自动被设定为2;如果将货币型字段的“格式”属性设置为“常规数字”,则小数位数以实际输入的位数为准,但最多保留2位小数。

5.默认值

增加新记录时,默认值自动作为字段值放到列中。当然,默认值可以被输入时的实际值覆盖。设置默认值属性可节省输入数据的时间。

6.必填字段

“必填字段”属性要求用户必须为该字段输入合适的数据类型的某个值,否则新记录不会添加成功。与“输入掩码”属性一样,“必填字段”属性也是控制数据输入过程的有效手段。

7.标题

“标题”属性主要用于字段在数据表视图中或窗体、报表等对象中输出显示或打印。一般在表结构设计时,字段名称尽量用英文,且较简短。因为字段名称实际上是对象名称,每一个对象都有一个唯一的名称,在查询或VBA编程时引用某个字段都必须使用对象名称。而在显示或打印某个字段时,一般希望用一个较长的名字表示,以便能清楚地表达其含义,这时就要用到“标题”属性。

8.有效性规则

“有效性规则”属性可以对输入到该字段的数据进行限制。其实,前面提到的数据类型就是一种有效性规则,系统根据数据类型自动检测输入的有效性。如果要求输入数字类型的数据,但却输入文本,系统会检测到这是一个非法的输入。“有效性规则”属性一般设置成一个类似于表达式的式子,其中不需要出现字段名称。关于表达式的书写,必须掌握Access数据的表示、运算符和内部函数的使用。具体说明请参考第3章有关知识。下面举几个例子说明一下“有效性规则”属性的设置。

【例2-2】如输入日期类型数据,且要求日期在2000年1月1日之后,在系统当前日期之前,可将“有效性规则”属性设置成:>#2000-1-1# and <date()。其中#是日期型数据的界限符,date()函数返回当前系统日期,and是逻辑与运算符。

【例2-3】如要求输入性别文本,性别只能为“男”或“女”,可将“有效性规则”属性设置成:"男" or "女"。其中双引号是文本字符串的界限符,注意必须是英文状态的双引号。or是逻辑或运算符。

【例2-4】如输入成绩数据,要求成绩必须在0到100分之间,可将“有效性规则”属性设置成:>=0 and <=100,或between 0 and 100。

9.有效性文本

当用户输入数据违反了“有效性规则”属性时显示的文本信息。

10.索引

索引可以加速对索引字段的查询,还能加速排序和分组操作。利用“索引”属性只能设置单字段的索引,不能在备注、超级链接、OLE对象和附件等类型的字段中建立索引。“索引”属性提供了3种预定义值:“否”表示无索引,默认值;“是(无重复)”表示此索引不允许有重复值,一般用于主键字段;“是(有重复)”表示此索引允许字段有重复值。