第3章表的创建3.1使用向导创建表3.2通过输入数据创建表3.3自定义表3.4使用已有数据创建表3.5表的导出3.1使用向导创建表数据表(以下简称表)是数据库所包含的七种对象之一,是收集和存储信息的基本单元,是查询、窗体、报表、数据访问页、宏及模块对象的基础,每个数据库都包含一个或多个相互关联的表。下面将学习建立表的四种方法:使用向导创建表;通过输入数据创建表;使用设计器创建表;使用已有数据创建表。在Access中设计一张数据库表的基本步骤是:①确定数据库表结构。②向数据库表中输入数据。【例3-1】使用Access提供的“资产追踪”通用模板创建一个名为“资产追踪”的数据库,并使用向导在“资产追踪”数据库中增加一个名称为“产品”的数据库表,表中包含的字段有:产品ID、产品名称、产品说明、类别ID、供应商ID和序列号,如下图所示。3.2通过输入数据创建表【例3-2】通过输入数据的方法创建表,建立一张职工信息表,如下图所示。3.3自定义表【例3-3】设计一张“学生”表,用于记录学生的基本信息,各字段的具体要求见下表。字段名称字段类型要求学号文本(1)字段大小:8。(2)显示要求:右对齐。(3)设置为主键。name文本(1)字段大小:10。(2)显示要求:“name”字段名的显示字样为“姓名”;该字段数据显示要求:当输入了名字后,正常显示名字;没有输入数据时,显示“noname”,以表示还没有输入姓名。性别文本(1)字段大小:1。(2)数据输入要求:新建记录时该字段的默认值为“男”;利用查阅列表框选择输入“男”或“女”。出生年月时间/日期(1)数据输入要求:在“____年-__月-__日”格式中输入日期。(2)显示格式:如“1965年03月12日”所示。字段名称字段类型要求专业文本从查阅列表框中选择“专业”值。班级编号文本从查阅列表框中选择“班级编号”值。家庭住址文本字段大小:50入学总分数字(1)输入要求:数据表中该字段只能输入0~750分之间的数据,数据输入错误时,应该提示“入学总分应大于0分、小于750分。”这一提示信息。(2)显示格式:当有分数时,保留1位小数,例如:“456.5分”;没有输入数据时,则显示“Null”;是否团员是/否输入及显示要求:当输入非0值时显示“是团员”,输入0时显示“非团员”。电话号码文本输入要求:号码位数最多不超过13位(包括区号),并且只能输入数字和空格。设计“学生”表的结构大致分为两个步骤:①选用“使用设计器创建表”方式打开表的“设计视图”,输入字段并设置好字段的数据类型。②然后详细设置每个字段的字段属性以符合例中所提出的要求。3.3.1使用设计器创建表打开数据库,在数据库窗口“对象”栏选择“表”,双击“使用设计器创建表”,打开“设计视图”窗口,如下图所示。3.3.2定义字段在设计视图窗口的“字段名称”区域中输入字段名称。字段名称应遵循如下命名规则:●字段名称的长度最多可达64个字符。●字段名称可以是包含字母、数字、空格和特殊字符(除句号、感叹号和方括号)的任意组合。●字段名称不能以空格开头。●字段名称不能包含控制字符(ASCII码值为0-31)。3.3.3设置字段数据类型为字段确定合适的数据类型。数据类型如下:数据类型用法大小文本用于文本(可以包含数字字符)最多存储255个字符数字用于表示算术运算数据1、2、4、8或16字节日期用于表示日期8字节备注用于长文本最多存储65535个字符货币用于存储货币值8字节OLE对象如MicrosoftWord文档、MicrosoftExcel电子表格、声音、图片和其他二进制数据最多1GB是否表示真或假1字符自动编号为每条记录自动添加序号4字节超级链接用于存储超级链接三个部分的每一部分最多只能包含2048个字符查阅向导从列表框或组合框中选中的文本或数值4字节3.3.4设置字段属性1.字段大小设置字段的大小用于限定字段的存储空间。说明:使用“字段属性”可以设置文本、数字或自动编号类型的字段中可保存数据的最大容量。如果字段数据类型设置为“文本”,默认值为50。如果字段数据类型设置为“自动编号”,字段属性则可设置为“长整型”或“同步复制ID”。如果字段数据类型设置为“数字”,字段属性大小的设置根据选择的不同的方式字段大小不同。具体设置见下表。设置说明小数位数存储空间大小字节保存从0到225(无小数位)的数字。无1个字节小数存储从-10^38-1到10^38-1(.adp)范围的数字存储从-10^28-1到10^28-1(.mdb)范围的数字2812个字节整型保存从-32,768到32,767(无小数位)的数字无2个字节长整型(默认值)保存从-2,147,483,648到2,147,483,647的数字(无小数位)无4个字节单精度型保存从-3.402823E38到-1.401298E-45的负值,从1.401298E-45到3.402823E38的正值。74个字节双精度型保存从-1.79769313486231E308到-4.94065645841247E-324的负值,从1.79769313486231E308到4.94065645841247E-324的正值158个字节2.格式“格式”属性用于定义数字、日期、时间及文本等显示及打印的方式,可以使用某种预定义格式,也可以用格式符号来自定义格式。(1)日期/时间数据类型①预定义格式各种预定义格式的显示格式见右表。②自定义格式如果Access提供的预定义还不能满足要求的话,可以使用下表所示的符号创建自定义日期及时间格式。预定义格式显示格式常规日期如:1978-6-617:11:23长日期如:1978年6月6日中日期如:78-06-06短日期如:1978-6-6长时间如:17:11:23中时间如:下午5:11短时间如:17:11符号说明:(冒号)时间分隔符/日期分隔符C与“常规日期”预定义的格式相同。D一个月中的日期,根据需要以一位或两位数显示(1到31)。dd一个月中的日期,用两位数字显示(01到31)。ddd星期名称的前三个字母(Sun到Sat)。dddd星期名称的全称(Sunday到Saturday)。ddddd与“短日期”的预定义格式相同。dddddd与“长日期”的预定义格式相同。w一周中的日期(1到7)。ww一年中的周(1到53)。m一年中的月份,根据需要以一位或两位数显示(1到12)。mm一年中的月份,以两位数显示(01到12)。mmm月份名称的前三个字母(Jan到Dec)。mmmm月份的全称(January到December)。q以一年中的季度来显示日期(1到4)。符号说明q以一年中的季度来显示日期(1到4)。y一年中的日期数(1到366)。yy年的最后两个数字(01到99)。yyyy完整的年(0100到9999)。h小时,根据需要以一位或两位数显示(0到23)。hh小时,以两位数显示(00到23)。n分钟,根据需要以一位或两位数显示(0到59)。nn分钟,以两位数显示(00到59)。s秒,根据需要以一位或两位数显示(0到59)。ss秒,以两位数显示(00到59)。ttttt与“长时间”预定义的格式相同。AM/PM以大写字母AM或PM相应显示的12小时时钟。am/pm以小写字母am或pm相应显示的12小时时钟。A/P以大写字母A或P相应显示的12小时时钟。a/p以小写字母a或p相应显示的12小时时钟。AMPMWindows“控制面板”的“区域设置属性”对话框中所定义的带有相应的“上午/下午”指示器的12小时时钟。【例3-4】以“出生年月”字段为例,实现例题3-3中所述的显示要求:显示格式如“1965年03月12日”所示。(2)数字与货币格式系统提供了7种数字和货币预定义格式,默认格式为“常规数字”,如下图所示。我们还可以使用下表所示的符号自定义格式,定义格式为:正数格式;负数格式;零格式;空值格式以上定义格式中每个部分都可以省略。符号说明.(英文句号)小数分隔符,(英文逗号)千位分隔符0数字占位符。显示一个数字或0#数字占位符。显示一个数字或不显示$美元符号%百分比。数字将乘以100,并附加一个百分比符号E-或e-科学记数法,在负数指数后面加上一个减号(-),在正数指数后不加符号。该符号必须与其他符号一起使用,如0.00E-00或0.00E00。【例3-5】以例题3-3中的“入学总分”字段为例,实现其显示要求。要求显示格式:当有分数时,保留1位小数,例如:“456.5分”;没有输入数据时,则显示“Null”。(3)文本和备注格式对文本和备注型字段,可以在字段属性的设置中使用特殊的符号来创建自定义格式。这些特殊字符的含义如下表所示。符号说明@要求文本字符(字符或空格)&不要求文本字符使所有字符变为小写使所有字符变为大写!数据左对齐-数据右对齐自定义格式(分两节):格式符号;字符串【例3-6】设置例题3-3中的“name”字段的“格式”属性,实现如下要求:当输入了名字后,正常显示名字;没有输入名字时,显示“noname”。(4)“是/否”型字段格式①预定义格式对于“是/否”型数据类型,可以将“格式”属性设置为“真/假”、“是/否”或“开/关”三种预定义格式之一。注意:表中数据的显示形式还要受到“查阅”选项卡的“显示控件”属性的限制。②自定义格式“是/否”字段的自定义格式如下:;真值;假值真值表示当字段值为真值时显示的字符串;假值表示当字段值为假时显示的字符串。【例3-7】设置例题3-3中的“是否团员”字段,要求如下:A.数据类型:“是/否”类型;B.输入及显示要求:当输入非0值时显示“是团员”,输入0时显示“非团员”。3.小数位数小数位数属性只能用于数字型和货币型的字段,通过设置该属性值来确定小数点右边小数的位数,它只影响小数的显示位数,不影响小数的保存位数。小数位数可以选用“自动”或指定0-15位。仍然以例题3-3为例,将“入学总分”字段的小数位数设置为1位小数。注意:“小数位数”可以选择“自动”或0-15之间的整数值。当“小数位数”设置为“自动”时,实际显示的小数位数由“格式”决定;当“小数位数”选择0~15之间的值时,实际显示的小数位数由“小数位数”属性设置的值决定。4.输入掩码输入掩码是用户输入数据时的提示格式。它规定了数据的输入格式,有利于提高数据输入的正确性。输入掩码属性对文本、日期/时间、数字和货币类型字段有效。(1)使用向导设置“输入掩码”可以使用“输入掩码向导”对话框设置,这里系统提供了许多预定义格式:点击“输入掩码”右边的按钮,在“输入掩码向导”对话框中设置。(2)自定义“输入掩码”自定义输入掩码的格式如下:输入掩码格式;0、1或空白;任何字符【例3-8】设置例题3-3中的“出生日期”的“输入掩码”。要求:①数据类型为日期/时间型;②输入格式为“____年-__月-__日”,其中年份用四位数字,“月”和“日”用两位数字。说明:定义输入掩码可以使用的格式符号及含义如下表所示。格式符号说明0数字(0到9,必选项),不允许加号[+]与减号[–])。9数字或空格(可选,不允许加号和减号)。#数字或空格(可选);在“编辑”模式下空格以空白显示,但是在保存数据时空白将删除;允许加号和减号)L字母(A到Z,必选项)。?字母(A到Z,可选)。A字母或数字(必选)。a字母或数字(可选)。&任何的字符或一个空格(必选)。C任何的字符或一个空格(可选)。.:;-/小数点占位符及千位、日期与时间的分隔符。(实际的字符将根据Windows“控制面板”中“区域设置属性”中的设置而定)。将所有字符转换为小写。将所有字符转换为大写。!使输入掩码从右到左显示,而不是从左到右显示。键入掩码中的字符始终都是从左到右填入。可以在输入掩码中的任何地方包括感叹号。\使接下来的字符以原义字符显示(例如,\A显示为A)。5.标题标题属性用于给字段指定别名(用于显示的文字),若没有为字段设置标题,则显示真实的字段名称。在实际应用中有时需要将字