ACCESS编程书籍1ch04.docx
- 文档编号:10629651
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:34
- 大小:250.86KB
ACCESS编程书籍1ch04.docx
《ACCESS编程书籍1ch04.docx》由会员分享,可在线阅读,更多相关《ACCESS编程书籍1ch04.docx(34页珍藏版)》请在冰豆网上搜索。
ACCESS编程书籍1ch04
第4章数据表设计与应用
本章学习目标
数据表(简称“表”)是数据记录的集合,是数据库最基本的组成部分。
一个数据库里可以有多个数据表,它们包含了数据库的所有数据信息。
一个表又由多个具有不同数据类型的字段组成。
本章从数据表的创建入手,对表的管理与维护、表的操作和数据的导入与导出进行介绍。
通过本章的学习,读者应掌握以下内容:
●数据表的结构设计与字段属性设置
●数据表的管理与维护
●数据表的操作方法
●数据的导入与导出
4.1创建表
表是Access2003数据库最基本的对象,其他的数据库对象,如查询、窗体和报表等都是在表的基础上建立并使用的。
因此,表的结构是否合理,可以说是整个数据库的关键所在。
一个数据库中可以建立多个表,通过在表之间建立关系,就可以将存储在不同表中的数据联系起来供用户使用。
Access2003提供三种创建表的方法:
使用向导创建表、通过输入数据创建表和使用设计器创建表。
这三种创建表的方法各有各的优点,适用于不同的场合。
4.1.1数据表结构设计
数据表由表结构和表内容两部分组成,先建立表结构,然后才能输入数据。
数据表结构设计主要包括:
字段名称、字段类型和字段属性的设置。
设计表结构的主要工具是表设计器(又称为设计视图)。
1.使用设计视图创建表
在Access2003中,使用数据表设计视图,不仅可以创建表,而且可以修改已有表的结构。
使用设计视图创建表的主要步骤与操作如下:
(1)在数据库窗口的“对象”列表中单击“表”。
(2)在右侧列表中双击“使用设计器创建表”;或者单击“新建”按钮,在出现的“新建表”对话框中选择“设计视图”选项,然后单击“确定”按钮,进入如图4.1所示的表设计视图。
图4.1表设计视图
(3)在表设计视图中,“字段名称”列输入字段名;“数据类型”列选择字段的数据类型;“说明”栏中输入有关此字段的说明;窗口下部的“字段属性”区用于设置字段的属性,例如,设置文本字段的“字段大小”来控制允许输入的最大字符数。
每个字段可用属性取决于为该字段选择的数据类型。
(4)当把数据表的所有字段名、数据类型、说明及字段属性等项都设置完毕后,可以选择“文件”菜单中的“保存”命令或单击工具栏上的“保存”按钮,在打开的“另存为”对话框中输入表的名称,然后单击“确定”按钮,完成数据表结构的设计。
(5)如果在保存表之前未定义主码字段,则Access2003将询问是否由系统自动添加一个主码,选择“是”表示确认,也可以选择“否”表示不需要自动添加主码字段。
2.关于字段名称、数据类型、说明
(1)字段名称
在“字段名称”列中可以添加或显示已有字段名称,字段名的命名必须符合Access2003的对象命名规则。
即:
●长度最多可达64个字符。
●可以包括字母、数字和空格,以及除句点、惊叹号、重音符号和方括号外的所有特殊字符。
●不能使用前导空格或控制字符(ASCII值从0至31的字符)。
(2)数据类型
用于指定在字段中存储的数据类型。
在Access2003中,只允许选择使用系统提供的10种数据类型。
数据类型的种类与用途如表4.1所示。
表4.1数据类型及用途
数据类型
用途
文本
字符和/或数字的任意组合,不能用于计算。
最长255个字符,默认长度为50个字符
备注
超长的文本,用于注释或说明,最长65535个字符
续表
数据类型
用途
数字
用于计算的值,1、2、4或8字节(16字节用于同步复制ID)
日期/时间
表示日期和时间,可用于计算,最多8字节
货币
表示货币的数据类型,可用于计算,小数点左边最多为15位,右边可精确到4位,最多8字节
自动编号
Access为每条记录提供唯一值的数值类型,常用做主关键字,4字节(16字节用于同步复制ID)
是/否
布尔型,1字节,如是/否、真/假、开/关等
OLE对象
源于其他基于Windows应用程序的对象链接与嵌入,如Excel表单、Word文档、图片、声音等,最多1G字节
超级链接
建立一个存储超级链接的字段,可以链接到一个UNC或URL字段,由4部分组成:
显示文本、地址、子地址、屏幕提示,用#间隔。
最多2048个字符
查询向导
创建一个字段,该字段允许从其他表、列表框或组合框中选择字段类型。
输入表数据时,可从一个下拉列表中选择值
(3)说明
说明列用于对字段进行必要的说明,例如,字段的含义及用途等。
3.字段属性
字段属性决定了如何存储和显示字段中的数据。
每种类型的字段都有一个特定的属性集。
Access2003为每一个字段指定一些默认属性,可改变这些属性,字段的常规属性选项卡如表4.2所示。
表4.2“常规”属性选项卡
属性
作用
字段大小
设置文本、数据和自动编号类型的字段中数据的范围,可设置的最大字符数为255
格式
控制显示和打印数据格式,选择预定义格式或输入自定义格式
小数位数
指定数据的小数位数,默认值是“自动”,范围是0~15
输入法模式
确定当焦点移至该字段时,准备设置的输入法模式
输入掩码
用于指导和规范用户输入数据的格式
标题
在各种视图中,可以通过对象的标题向用户提供帮助信息
默认值
指定数据的默认值,“自动编号”和“OLE”数据类型无此项属性
有效性规则
一个表达式,用户输入的数据必须满足该表达式
有效性文本
当输入的数据不符合有效性规则时,要显示的提示性信息
必填字段
该属性决定是否允许出现Null值
允许空字符串
决定“文本”和“备注”字段是否可以等于零长度字符串("")
索引
决定是否建立索引及索引的类型
Unicode压缩
指定是否允许对该字段进行Unicode压缩
(1)字段大小
字段大小用于设置存储字段中,文本数据的最大长度或数值的取值范围,只有文本和数值类型的字段可以选择。
文本类型的字段宽度范围为1~255个字符,系统默认为50个字符。
需注意的是:
对文本型字段,Access2003以实际输入的字符数来决定所需的磁盘存储空间。
数据类型的字段宽度如表4.3所示,共有六种可选择的字段大小:
字节、整型、长整型、单精度型、双精度型和小数,系统默认是长整型。
表4.3数据型字段大小的属性取值
类型
作用
小数位
占用空间
字节
0~255(无小数位)的数字
1个字节
整型
-32768~32767(无小数位)的数字
2个字节
长整型
-2147483648~2147483647(无小数位)的数字
4个字节
单精度型
负值:
-3.4×10
~-1.4×10
的数字
正值:
1.4×10
~3.4×10
的数字
7
4个字节
双精度型
负值:
-1.8×10
~-4.9×10
的数字
正值:
1.8×10
~4.9×10
的数字
15
8个字节
小数
-10
-1~-10
-1范围的数字
28
12个字节
(2)格式属性
格式属性用来规定文本、数字、日期和“是/否”型字段的数据显示或打印格式,对存储数据不起作用,也不检查无效输入。
对日期/时间型、数字型、货币型及“是/否”型,系统提供了如表4.4所示的格式类型。
表4.4几种数据类型的字段格式设置
类型
格式类型与示例
日期/时间型
常规日期(默认设置):
1994-6-1117:
40:
32
长日期:
1994年6月11日
中日期:
94-06-11
短日期:
1994-6-11
长时间:
17:
40:
32
中时间:
下午5:
40
短时间:
17:
40
数字/货币型
常规数字(默认值):
3456.789
货币:
¥3,456.79
美元:
$3,456.79
固定:
3456.79
标准:
3,456.79
百分比:
123.00%
科学计数:
3.46E+03
续表
类型
格式类型与示例
是/否型
真/假:
True(-1)/False(0)
是/否:
Yes(-1)/No(0)
开/关:
On(-1)/Of(0)
文本/备注型
@:
要求文本字符(字符或空格)
&:
不要求文本字符
<:
使所有字符变为小写
>:
使所有字符变为大写
(3)输入掩码
输入掩码用于指导和规范用户输入数据的格式,还可以控制文本框类型控件的输入值。
如果为某个字段定义了输入掩码,同时又设置了格式属性,格式属性在数据显示时优先于输入掩码的设置。
输入掩码定义可包含用分号分隔的三个节,例如,定义日期型字段的输入掩码为0000/99/99;0;""。
“;”用于区分节。
掩码组成如表4.5所示。
表4.5掩码组成
节
含义
第一个
输入掩码本身
第二个
决定是否保存原义显示字符。
“0”表示以输入的值保存原义字符;“1或空白”表示只保存输入的非空格字符
第三个
显示在输入掩码处的非空格字符,可以使用任何字符。
""代表一个空格。
如果省略该节,将显示下划线(_)
输入掩码由用来分隔输入空格的原义字符(例如空格、点、点划线、和括号)组成。
“输入掩码”属性设置则由文本字符和特殊字符组成,特殊字符将决定输入的数值类型。
输入掩码主要用于“文本”和“日期/时间”型字段,但也可以用于“数字”或“货币”字段。
Access2003将按表4.6所示转译“输入掩码”属性定义的第一个节中的字符。
如果要定义原义字符,可输入该表以外的任何其他字符,包括空格和标号。
如果要将字符中的某一个定义为原义字符,可在字符前面加上“\”。
例如,对于“入校日期”字段,为方便用户输入,可以预留年、月、日输入区,并用输入掩码定义字符分隔年、月、日。
如设置其输入掩码为:
0000/99/99;0;#。
第一节“0000/99/99”中,“0”表示此处只能输入一个数,而且必须输入;“9”代表此处只能输入一个数,但不是必须输入;“/”符号为转意分隔符,输入数据时直接跳过。
第三节中的“=”为占位符。
输入掩码属性设置可以使用向导或在输入掩码属性框中直接输入,但系统仅对“文本”和“日期/事件”型字段提供向导,其他数据类型没有向导帮助。
表4.6输入掩码定义字符
字符
说明
0
必须输入数字(0~9)
9
可以输入数字或空格
#
可以选择输入数字或空格(空白将转换为空格,允许使用加号和减号)
L
必须输入字母(A~Z)
?
可以选择输入字母(A~Z)
A
必须输入字母或数字
a
可以选择输入字母或数字
&
必须输入任一字符或空格
C
可以选择输入任一字符或空格
.,:
;-/
十进制占位符和千位、日期与时间分隔符(实际使用的字符取决于Windows“控制面板”的“区域设置属性”中指定的区域设置)
<
使其后所有的字符转换为小写
>
使其后所有的字符转换为大写
\
使其后的字符显示为原义字符。
可用于将该表中的任何字符显示为原义字符(例如,\A显示为A)
!
使输入掩码从右到左显示,而不是从左到右显示。
输入掩码中的字符始终都是从左到右显示
密码
将“输入掩码”属性设置为“密码”,以创建密码项文本框。
文本框中输入的任何字符都按字面字符保存,但显示为星号(*)
对于“数字”或“货币”等类型的字段,只能使用字符直接定义输入掩码属性。
例如,要定义“课程”表中的“学分”字段的输入掩码为9,可以在“课程”表的设计视图中,选择“学分”字段,在其输入掩码文本框中直接输入9。
此设置意味着不管“学分”字段定义的宽度是多少位,在输入数据时仅接受0到9之间的数字,且只能输入一位。
当然,对于“文本”和“日期/事件”型字段也可以不用向导而使用字符直接定义。
例如,在“入学日期”字段的输入掩码文本框中直接输入0000/99/99。
使用“输入掩码向导”来完成掩码的输入,设置方法比较简单,在此不再详细说明。
(4)标题
设置“标题”属性值,在显示表数据时,表列的栏目名称将显示“标题”属性值,而不显示字段名称。
(5)默认值
为字段设置默认值,在向表中增加记录时,Access2003自动为字段填入设定的默认值。
(6)有效性规则与有效性文本
有效性规则是指一个表达式,用户输入的数据必须满足表达式,使表达式的值为真,当焦点离开此字段时,Access2003会检测输入的数据是否满足有效性规则,如不满足,则根据“有效性文本”设置的内容提示相应信息。
有效性规则表达式包括一个运算符和一个比较值,当运算符为“=”时,可省略不写。
常用的运算符如表4.7所示。
表4.7在有效性规则中使用的运算符
运算符
意义
<
小于
<=
小于等于
>
大于
>=
大于等于
=
等于
<>
不等于
In
所输入数据必须等于列表中的任意成员
Between
“BetweenAandB”代表所输入的值必须在A和B之间
Like
必须符合与之匹配的标准文本样式
有效性文本的设定内容是当输入值不满足有效性规则时,系统提示的信息。
有效性规则和有效性文本通常是结合起来使用的。
【例4.1】如下示例给出了关于有效性规则和有效性文本的设置。
有效性规则设置有效性文本设置
<>0请输入一个非零值
0or>=60值必须为0或大于等于600
<#1/1/2005#输入一个2005年之前的日期
>=#1/1/2004#and<#1/1/2005#日期必须是在2004年内
Like"C?
?
?
"值必须是以C打头的四个字符
(7)必填字段
“必填字段”属性取值只有“是”和“否”两项。
当设置为“是”时,表示必须在字段中输入内容,不允许本字段为空。
(8)允许空字符串
该属性仅对“文本”型字段有效,取值只有“是”和“否”两项,当设置为“是”时,表示字段可以不填写任何字符。
(9)索引
用于设置单一字段索引。
索引用于提高对索引字段的查询速度及加快排序与分组操作。
共有如下三项取值:
“无”:
表示本字段无索引。
“有(有重复)”:
表示本字段有索引,但允许表中该字段数据重复。
“有(无重复)”:
表示本字段有索引,但不允许表中该字段数据重复。
(10)Unicode压缩
取值只有“是”和“否”两项,当设置为“是”时,表示本字段中的数据可以存储和显示多种语言的文本。
(11)输入法模式
常用“开启”和“关闭”选项,若选择“开启”,则在向表中输入数据时,一旦该字段获得焦点,将自动打开设定的输入法。
4.查阅属性
字段的查阅属性选项卡只有一个“显示控件”属性,该属性仅对文本、数字和“是/否”类型的字段有效。
对文本和数字类型的字段提供了3个选项值:
文本框(默认值)、列表框和组合框;为“是/否”类型的字段提供了3个选项值:
复选框(默认值)、文本框和组合框,如图4.2所示。
图4.2字段查阅属性参数
若对文本和数字类型的字段使用列表框或组合框,以及对“是/否”类型字段使用组合框,意味着可以与其他表或查询结合来向字段中输入数据。
若“是/否”类型字段的显示控件属性选择复选框,在输入字段值时,以“
”显示代表“真”值,以“□”显示代表“假”值。
此时,“常规”选项卡中格式属性的设置不起作用。
若“是/否”类型字段的显示控件属性选择文本框,“常规”选项卡中格式属性没有设置,则字段以“-1”代表“真”值,以“0”代表“假”值,如果“常规”选项卡中格式属性已设置,其设定值将代表真假值的文字显示。
需说明的是:
使用字段的“查阅向导”数据类型或设置字段的“字段属性”与“查阅”选项卡,对一些具有可选择输入数据的字段,例如“系别”、“专业”和“政治面貌”等,会给数据输入带来很大方便,特别是应用系统的初始数据录入,不必编写程序,即可提供方便的数据录入操作。
4.1.2主码
主码(也称主键)是用于唯一标识表中每条记录的一个或一组字段。
Access2003建议每一个表设计一个主码,这样在执行查询时用主码作为主索引可以加快查找的速度。
还可以利用主码定义多个表之间的关系,以便检索存储在不同表中的数据。
表设计了主码,可以确保唯一性,即避免任何重复的数值或Null(空)值保存到主码字段中。
在Access2003中,可以定义三种主码:
自动编号、单字段及多字段。
1.自动编号主码
创建一个空表时,在保存表之前如果未设置表的主码,Access2003会询问是否需要设置一个自动编号的主码。
它的作用是在表中添加一个自动编号字段,在输入记录时,自动编号字段可设置为自动输入连续数字的编号。
2.单字段主码
在表中,如果某一字段的值能唯一标识一条记录,就可以将此字段指定为主码。
如果选择作为主码的字段有重复值或Null(空)值,Access2003就不会将它设置为主码。
3.多字段主码
在表中,可以将两个或更多的字段指定为主码(至多包括10个字段)。
例如,在学生“成绩”表中,“学号”与“课程号”字段的值可能都不是唯一的,因为一个学生可以选多门课,而一门课可以被多个学生选择。
如果“学号”与“课程号”两个字段组成的字段组合指定为主码,就有唯一的值,并成为每一条记录的标识。
设置主码的方法非常简单:
(1)在设计视图中打开表。
(2)单击行选定器,选择主码字段所在的行,如果要设置多字段主码,先按下Ctrl键,然后单击行选定器选择所需的字段。
(3)单击工具栏中的“主码”按钮或使用右击快捷菜单,选择“主码”命令。
主码指示符将出现在该行的字段选择器上,表明已经将该字段设置为主码。
4.1.3索引
使用索引就如同使用一本书的目录,可以在表中快速查找所需的数据。
Access2003允许用户基于单个字段或多个字段创建记录的索引,一般可以将经常用于搜索或排序的单个字段设置为单字段索引;如果要同时搜索或排序两个或两个以上的字段,可以创建多字段索引,多字段索引能够区分与第一个字段值相同的记录。
1.创建索引
Access2003将表中的主码自动创建为索引。
如果要创建某个字段或字段的组合为索引,可按下述步骤进行:
(1)创建单字段索引
①在设计视图中,打开需要设置单字段索引的表。
②单击要设置索引的字段行。
③在“字段属性”选项卡中,单击“索引”属性框,根据字段的数据值,选择“有(无重复)”或“有(有重复)”选项。
(2)创建多字段索引
使用多字段索引排序记录时,Access2003将首先使用定义在索引中的第一个字段进行排序,如果记录在第一个字段中的值相同,使用索引中的第二个字段进行排序,依次类推。
①在设计视图中,打开需要创建多字段索引的表。
②选择“视图”菜单中的“索引”命令,或者单击工具栏中的“索引”按钮,打开如图4.3所示的“索引”窗口。
如果当前表已定义了主码,Access自动在“索引”窗口的第一行显示出主码索引的名称、字段名称以及排序次序。
③在“索引名称”列中输入索引名称。
④在“字段名称”列中,单击右边向下箭头,从下拉列表中选择索引的第一字段。
⑤在“排序次序”列中,选择“升序”或“降序”选项。
⑥根据需要可继续定义其他需要索引的字段。
图4.3“索引”窗口
2.查看与编辑索引
如果要查看或编辑表中已有的索引,可以按照下述步骤进行:
(1)在设计视图中打开包含索引的表。
(2)选择“视图”菜单中的“索引”命令,或单击工具栏中的“索引”按钮,打开“索引”窗口。
(3)在“索引”窗口中列出当前表中已定义的索引名称、索引字段、索引的排序次序以及索引属性等设置,用户可以根据需要更改这些设置。
(4)要删除某个索引,可以单击行选定器选择索引,然后按Delete键删除。
4.1.4使用向导创建表
在Access2003的创建表向导中,有各种各样预定义的示例表,如客户表、雇员表、产品表、订单表等,用户可以利用这些示例表为模板创建新表。
使用向导创建表的操作步骤如下:
(1)在数据库窗口中选择“表”对象。
(2)直接双击“使用向导创建表”或单击“新建”按钮,打开如图4.4所示的“新建表”对话框,选择“表向导”后单击“确定”按钮。
图4.4“新建表”对话框
(3)按向导提示进行操作,逐步完成表结构的设计,由于向导操作提示详细,在此不给出每步的操作说明与界面。
4.1.5通过输入数据创建表
Access2003允许用户先不创建表,而是通过输入一组数据,由系统根据输入数据的特点自动确定各个字段的数据类型和长度,从而创建一个新表。
若对表结构的设计不满意,可以在设计视图中进行修改。
通过输入数据创建表的操作步骤如下:
(1)在数据库窗口中选择“表”对象。
(2)双击“通过输入数据创建表”,系统自动打开一个空表,如图4.5所示。
系统默认为10字段,可以插入或删除字段,各个字段的默认名称依次是字段1、字段2,……,字段10。
图4.5输入数据创建表
(3)如果要对字段重新命名,可双击字段名,然后输入新名称。
(4)在各字段中输入相应的数据。
输入完数据后,单击工具栏中的“保存”按钮,或者选择“文件”菜单中的“保存”命令,在显示的“另存为”对话框中输入表的名称,单击“确定”按钮保存表。
4.2管理与维护表
4.2.1表间关系的建立
查询数据库数据时,经常要在两个或多个表的字段中查找和显示数据记录。
表间的记录联接靠建立表间关系来保证,所以,指定表间的关系是非常重要的。
一般情况下,如果两个表使用了共同的字段,就应该为这两个表建立一个关系,通过表间关系就可以指出一个表中的数据与另一个表中的数据的相关方式。
表间关系的类型有:
一对一、一对多和多对多三种。
当创建表间关系时,必须遵从“参照完整性”规则,这是一组控制删除或修改相关表数据方式的规则。
参照完整性规则:
(1)在将记录添加到相关表中之前,主表中必须已经存在了匹配的记录。
(2)如果匹配的记录存在于相关表中,则不能更改主表中的主码值。
(3)如果匹配记录存在于相关表中,则不能删除主表中的记录。
1.创建表间关系
具体操作步骤如下:
(1)在数据库窗口中,单击工具栏上的“关系”按钮
,或在数据库窗口中右击,在弹出的快捷菜单中选择“关系”命令,系统将打开如图4.6所示的“关系”窗口。
如果在数据库中已经创建了关系,关系窗口中将显示出这些关系;如果数据库中还没有定义任何关系,Access2003会打开一个空白关系窗口。
图4.6学生管理数据库的“关系”窗口
(2)在窗口中右击并在弹出的菜单中选择“显示表”命令,打开如图4.7所示“显示表”对话框。
“显示表”对话框有三个选项卡:
●“表”选项卡:
列出数据库中所有的数据表。
●“查询”选项卡:
列出数据库中所有的查询。
●“两者都有”选项卡:
列出数据库中所有的数据表和查询。
可以从中选择需要创建关系的表或查询,把它们添加到关系窗口中。
例如,分别添加学生、课程和成绩表,此时,关系窗口呈现如图4.8所示的布局。
图4.7“显示表”对话框
图4.8添加表后的关系窗口
(3)在关系窗口中,将显示添加表的字段,主码字段名用粗体标识。
一般在主码和外码之间建立表间关系,即被参照关系的主码与参照关系的外码之间,两者一般设计为字段名相同。
例如,建立学生与成绩表的关系。
单击学生表的“学号”字段且按住不放,然后把它拖到成绩表中“学号”字段上,当释放鼠标时,系统打开“编辑关系”对话
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ACCESS 编程 书籍 ch04