首页 百科知识 表的结构及字段数据类型

表的结构及字段数据类型

时间:2022-10-22 百科知识 版权反馈
【摘要】:Access 2007定义了11种数据类型,在表设计窗口“数据类型”单元格的下拉列表中显示了11种数据类型。“输入掩码”属性用于设置字段、文本框以及组合框中的数据格式,并可对允许输入的数值类型进行控制。如果想不到可能成为优秀主键的一个字段或字段集,则请考虑使用某一数据类型为“自动编号”的列。“超链接”数据类型是存储超链接地址的Access数据库字段的数据类型。对于表“设计”视图,在窗口的上部单击要允许或禁止出现空值的字段。

5.4.2 表的结构及字段数据类型

1.字段数据类型

Access 2007定义了11种数据类型,在表设计窗口“数据类型”单元格的下拉列表中显示了11种数据类型。有关数据类型的详细说明如表5-15所示。

表5-15 字段数据类型

img544

2.选择数据格式

Access 2007允许为字段数据选择一种格式,“数字”、“日期/时间”和“是/否”字段都可以选择数据格式。选择数据格式可以确保数据表示方式的一致性,如图5-53所示。

img545

图5-53 选择数据格式

3.改变字段大小

Access 2007允许更改字段默认的字符数。改变字段大小可以保证字符数目不超过特定限制,从而减少数据输入错误,如图5-54所示。

img546

图5-54 改变字段大小

4. 输入掩码

“输入掩码”属性用于设置字段、文本框以及组合框中的数据格式,并可对允许输入的数值类型进行控制。要设置字段的“输入掩码”属性,可以使用Access 2007自带的“输入掩码向导”来完成。例如,图5-55所示的出生日期下的单元格出现的“年_月_日”就是输入掩码,输入掩码就是为了让录入数据的时候提示数据的格式,如果是密码的掩码,还可以防止密码被别人看到。

img547

图5-55 输入掩码

设置输入掩码的步骤如下:

(1)打开Access 2007中你想要修改的数据表,然后在菜单栏上单击“视图”,如图5-56所示。

img548

图5-56 修改数据表

(2)在视图选项的下拉菜单中,选择“设计视图”,如图5-57所示。

img549

图5-57 设计视图

(3)在设计视图中,找到出生日期,目的就是给出生日期设置一个输入掩码。单击“出生日期”,这样就选中它了,如图5-58所示。

img550

图5-58 输入掩码

(4)在下面的“常规”选项下,找到“输入掩码”的选项,将光标移动到该栏,如图5-59所示。

img551

图5-59 找到“输入掩码”的选项

(5)单击该栏右侧的设置向导,也就是红色箭头所示的位置,如图5-60所示。

img552

图5-60 设置向导

(6)选择掩码的格式,笔者想给日期设置掩码,所以选择了一个长日期,单击“下一步”按钮,如图5-61所示。

(7)选择一个占位符,如果不选择,则默认用空白的占位符,单击“下一步”按钮,如图5-62所示。

img553

图5-61 选择掩码的格式

img554

图5-62 选择一个占位符

(8)最后单击“完成”按钮即可。这样日期的掩码就设置好了,效果如图5-63所示。

(9)单击菜单栏上的数据表视图,如图5-64所示。

img555

图5-63 日期掩码设置效果

img556

图5-64 数据表视图

(10)提示“是否立即保存表”,单击“是”就可以了,如图5-65所示。

img557

图5-65 保存表

(11)将光标移动到出生日期的单元格,可以看到这个单元格已经出现了“年_月_日”,只需要填写数字就可以了,如图5-66所示。

img558

图5-66 填写数字

5.设置有效性规则和有效性文本

当输入数据时,有时会将数据输入错误,如将薪资多输入一个0,或者输入一个不合理的日期。事实上,这些错误可以利用“有效性规则”和“有效性文本”两个属性来避免。

“有效性规则”属性可输入公式,它可以是比较或逻辑运算组成的表达式,用在将来输入数据时,对该字段上的数据进行查核工作,如查核是否输入数据、数据是否超过范围等。“有效性文本”属性可以输入一些要通知使用者的提示信息,当输入的数据有错误或不符合公式时,则自动弹出提示信息。

6.设置表的索引

简单地说,索引就是搜索或排序的根据。也就是说,若为某一字段建立了索引,则可以显著加快以该字段为依据的查找、排序和查询等操作。但是,并不是将所有字段都建立索引,搜索的速度就会达到最快。这是因为索引建立得越多,占用的内存空间就会越大,这样会减慢添加、删除和更新记录的速度。

数据库中的每个表都应该有一个字段或字段集,用来唯一标识该表中存储的每条记录。这个字段或字段集称为主键。下面将讨论主键的作用并介绍添加、设置、更改或删除主键的方法。

主键是表中的一个字段或字段集,可以为Access 2007中的每行提供一个唯一的标识符。在关系数据库Access 2007中,可以将信息分成不同的、基于主题的表。然后,使用表关系和主键以指示Access 2007如何将信息再次组合起来。Access 2007使用主键字段将多个表中的数据迅速关联起来,并以一种有意义的方式将这些数据组合在一起。

这是因为一旦定义了主键,就可以在其他表内使用它来向回引用具有该主键的表。例如,“客户”表中的“客户ID”字段也可能会显示在“订单”表中。在“客户”表中,它是主键,而在“订单”表中,它称为外键。简而言之,外键就是另一个表的主键,如图5-67所示。①为主键,②为外键。

通常,唯一的标识号(如ID号、序列号或编码)可充当表中的主键。例如,可能有一个“客户”表,其中每个客户都有一个唯一的客户ID号,则客户ID字段是主键。

img559

图5-67 添加、设置、更改或删除主键

一个好的主键候选具有几个特征。首先,它唯一标识每一行。其次,它从不为空或从不为“Null”,即它始终包含一个值。再次,理想情况它几乎永不改变。Access 2007可使用主键字段将多个表中的数据快速收集在一起。

将姓名或地址作为主键则是一种糟糕的选择,它们都包含可能随时间变化的信息。

应该始终为表指定一个主键。Access 2007会自动为主键创建索引,这有助于加快查询和其他操作的速度。Access 2007还可确保每条记录的主键字段中都有一个值,并且该值始终是唯一的。

在数据表视图中创建新表时,Access 2007会自动为您创建主键,并且为它指定字段名“ID”和“自动编号”数据类型。默认情况下,该字段在“数据表视图”中为隐藏状态,但切换到“设计视图”后就可以看到该字段。

如果想不到可能成为优秀主键的一个字段或字段集,则请考虑使用某一数据类型为“自动编号”的列。这样的标识符不包含事实数据,即不包含任何描述所代表行的真实信息。由于不包含事实数据的标识符不会更改,所以使用这些标识符是一种好的做法。因为真实信息本身经常会发生变化,所以包含有关某一行的事实数据的主键(如电话号码或客户名称)也极可能会更改。

7.字段的其他属性

在表设计视图窗口的“字段属性”选项区域中,还有多种属性可以设置,如“必填字段”属性、“允许空字符串”属性、“标题”属性等。下面将对这些属性进行介绍。

1)“必填字段”和“允许空字符串”属性

通过设置字段的“必填字段”属性和“允许空字符串”属性的各种不同组合,可以指定在字段中允许的空值类型。 Microsoft Access允许区分两种类型的空值:Null值和零长度字符串。Null是一个值,可以在字段中输入或在表达式或查询中使用,以指示缺少或未知的数据。在Visual Basic中,Null关键字表示Null值。有些字段,如主键字段,不可以包含Null值。零长度字符串是不含字符的字符串,可以使用零长度字符串来表明知道该字段没有值。输入零长度字符串的方法是键入两个彼此之间没有空格的双引号("")。“必填字段”属性决定用户是否可以将该字段留空,以产生Null值。“允许空字符串”属性决定“文本”、“备注”或“超链接”字段是否可以包含零长度字符串。“超链接”数据类型是存储超链接地址的Access数据库字段的数据类型。地址最多可以包含四部分,可以用“displaytext#address#subaddress#”语法格式编写。

对于表“设计”视图,在窗口的上部单击要允许或禁止出现空值的字段。设计视图是能显示表、查询、窗体、报表和宏等数据库对象的设计的视图。在设计视图中,可以创建新的数据库对象以及修改现有对象的设计。

“必填字段”和“允许空字符串”属性有如下几种操作。

(1)若要在不需要区分表示未知数据的空值和表示已知没有值的空值则允许出现空值,请将“必填字段”属性和“允许空字符串”属性都设为“否”。

(2)若要防止用户将字段留空,请将“必填字段”属性设为“是”,将“允许空字符串”属性设为“否”。

(3)若要允许存在两种类型的空值,以便可以区分表示未知数据的空值和表示已知没有值的空值,请将“必填字段”属性设为“否”,将“允许空字符串”属性设为“是”。

(4)若要允许只在没有数据时出现空值,请将“必填字段”属性和“允许空字符串”属性都设为“是”。这种情况下,使字段为空的唯一方法是键入不带空格的双引号,或按空格键来输入空字符串。

2)Access 2007中“Field”对象的标题属性

Access 2007数据库中“Field”对象的标题(caption)属性是用来设置数据字段的标题,在正常的数据库设计中是为了保持维护的便利性,许多开发者都将字段名与标题做了分别设置,标题往往比字段名更友好,更能说明字段的用途。

从另一个角度来说明如何用VBA读/写该属性。“Field”对象的“caption”属性并不是ADO原生对象,而是“可由ADO访问的Access属性”,在帮助文档中介绍了两种访问这个属性的方法,一种为利用ADO,一种为利用DAO。在ACCESS 2003及以前的版本中,由于“Field”对象并不是“AccessObject”对象,因而也就没有“AccessObjectProperties”属性,所以也就不可能在ADO中去解决这个问题,现在用下面方式来解决DAO的代码。

img560

img561

以上部分代码中包含两个SUB,一个是“SetProperty”,用来判断一个字段是否有指定的属性,如果没有设置,就将相应的数值赋给该属性;另一个是“DisplayClumCaption”,这是对指定表中的字段按字段名设置其“Caption”属性的演示代码。如果有需要,可以对“SetProperty”进行修改,使它变成一个只读的函数,用来枚举指定表中每个字段的“Caption”属性。“DisplayClumCaption”代码中,要特别注意打“星号”的地方,以免在MSDN中走弯路。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈