资源描述
224 建立表之间的关系在ACCESS中要想管理和使用好表中的数据,就应建立表与表之间的关系,只有这样,才能将不同表中的相关数据联系起来,也才能为建立查询,创建窗体或报表打好良好的基础。1. 表间关系的概念ACCESS中,每个表都是数据库中一个独立的部分,它们本身具有很多的功能,但是每个表又不是完全孤立的部分,表与表之间可能存在相互的联系。一旦两个表之间建立了关系,就可以很容易地从中找出所需要的数据。表间的关系可分为一对一,一对多,和多对多3种。在ACCESS数据库中,表之间的关系都定义为一对多的关系。一般情况下,将一端表称为主表,将多端表称为相关表。2. 参照完整性关系是通过两个表之间的公共字段建立起来的。在定义表之间的关系时,应设立一些准则,这些准则将有助于数据的完整。参照完整性就是在输入或删除记录时,为维持表之间已定义的关系而必须遵守的规则。如果实施了参照完整性,那么当主表中没有相关记录时,就不能将记录添加到相关表中,也不能在相关表中存在匹配的记录时删除主表中的记录,更不能在相关表中有相关记录时更改主表中的主关键字值。也就是说,事实了参照完整性后,对表中主关键字字段进行操作时系统会自动地检查主关键字段,看该字段是否被添加,修改和删除了。如果对主关键字的修改违背了参照完整性的要求,那么系统会自动强制执行参照完整性。3. 建立表之间的关系用数据库向导或表向导建立表时向导自动定义各个表间的关系;如果不是用向导建表,就需要自己定义表之间的关系。在定义表之间的关系前应把要定义关系的所有表关闭。然后单击工具栏上的“关系”按钮,并在关系窗口中做相关操作。如果在“编辑关系”对话框中选择了“实施参照完整性”复选框,然后选择“级联更新相关字段”复选框,可能在主表的主关键字值更改时,自动更新相关表中的对应数值;如果选择了“级联删除相关记录”复选框,可以在删除主表的记录时,自动地删除相关表中的相关信息;如果只选择了“实施参照完整性”复选框,则相关表中的相关记录发生变化时,主表中的主关键字不会相应变化,而且当删除相关表中的任何记录时,也不会更改主表中的记录。4. 子数据表 子数据表是指在一个“数据表”视图中显示已与其建立关系的“数据表”试图。在建立关系的主数据表视图上可以查看子数据表。补充:NULL值(空值)指的是不确定的值考题:1.ACCESS中,可以定义3种主关键字,它们是:单字段/多字段/自动编号 2.数据库中有A/B 两表,均有相同字段C,在两表中C都为主键,当通过C字段建立两表关系时 则该关系为:一对一 (都不允许重复)225 向表中输入数据 建立了表结构后,就可以向表中输入数据了。在ACCESS中,可以利用“数据表”视图向表中输入数据,也可以利用已有的表添加数据(把别的表添加到这个表中,即“并”)。一、 使用“数据表”视图首先打开“数据表”视图(双击表名可以打开),定位到相应记录的相关字段输入需要加入的信息。操作完后要保存表中的数据。二、 创建查阅字段如果某个字段值是一组固定的数值,手工直接输入麻烦,可以作用创建查阅列表的方式来实现输入选择输入。三、 获取外部数据所谓的导入就是将符合ACCESS输入/输出协议的任一类型的表导入到ACCESS的数据表中。可以导入的表类型包括ACCESS数据库中的表,Excel,Louts,DBASE,FoxPro等数据库应用程序所创建的表,以及HTML文档等。一般我们可以通过“文件”菜单中的“获取外部数据”命令来入手操作。应用实例:将一个已有的EXCEL文件和一个文本文件分别导入到数据库的一个表中。还可以通过外部连接表来从外部数据源获取数据。2.3 维护表 在创建数据库和表时,可能由于种种原因,使用表的结构设计不合适,有些内容不能满足实际需要,这时通常要对已建表的结构及其内容做进一步的修改和完善操作。维护表的基本操作,主要包括表结构的修改,表内容的完善,表格式的调整以及表的其他操作等。2. 3. 1 打开和关闭表在对表进行结构修改,编辑内容或者浏览表中记录等操作之前,首先都要打开相应的表,完成操作后要关闭表。1.打开表可以在“数据表”视图中打开表,也可以在“设计”试图中打开表。2.关闭表在“设计”视图状态或“数据表”视图状态者可以单击“文件”菜单中的“关闭”命令或单击窗口的“关闭窗口”按钮都可以将打开的表关闭。2. 3. 2 修改表的结构修改表结构的操作主要包括增加字段,删除字段,修改字段,重新设置主关键字等。修改表的结构只能在“设计”视图中完成。1. 添加字段添加新字段不会影响其他字段和现有数据。但利用该表建立的查询,窗体或报表,新字段是不会自动添加的,要手工添加。2. 修改字段主要操作是修改字段的名称,数据类型,说明等。3. 删除字段可以删除一个或多个字段(按Ctrl)4. 重新设置关键字重新定义主关键字需要先删除原主关键字,然后再定义新的主关键字。2. 3 .3 编辑表的内容操作主要包括定位记录,选择记录,添加记录,删除记录,修改记录,修改数据以及复制字段中的数据等。1. 定位记录常用的有两种方法:一、 是使用记录号定位(在记录定位器中输入记录号然后按Enter键)二、 是使用快捷键定位:快捷键 定位功能Tab,回车,箭头 下一字段Shift+Tab ,左箭头 上一字段2. 选择记录可以在“数据表”视图下用鼠标或者键盘两种方法选择数据范围:1. 用鼠标选择数据范围(1) 选择字段中(内部)的部分数据:单击开始处,拖动鼠标到结尾处(2) 选择字段中的全部数据:单击字段左边,待鼠标指针变成“+”后单击鼠标左键。(3) 选择相邻多字段中的数据:单季第一个字段左边,待鼠标指针变为“+”,拖动鼠标到最后一个字段的结尾处。(4) 选择一列数据:单击该列的字段选定器。(5) 选择多列数据:单击第一列顶端字段名,拖动鼠标到最后一个字段的结尾处。2. 用鼠标选择记录范围(1) 选择一条记录:单击该记录的记录选定器。(2) 选择多条记录: 单击第一条记录的记录选定器,按住鼠标左键,拖动鼠标到选定范围的结尾处。(3) 单击“编辑”菜单下的“选择所有记录”的命令。3. 用键盘选择数据范围3. 添加记录操作时打开表,单击工具栏上的“新记录”按钮,增加后光标移到新记录上输入。4. 删除记录 (不能恢复) 打开表,单击要删除记录的记录选定器,单击工具栏上的“删除记录”按钮,也可以删除多条记录。5. 修改数据 打开表,光标移动到要改处直接修改。6. 复制数据 在输入或者编辑数据时,有些数据可能相同或者类似,这时可以使用复制和粘贴操作将某字段中的部分或全部数据复制到另一个字段中。2. 3. 4 调整表的外观 调整表的结构和外观是为了使表看上去更清楚/美观。操作主要包括改变字段次序,调整字段显示宽度和高度,设置数据字体,调整表中网络线样式及背景颜色,隐藏和显示列及冻结列等。一、 改变字段显示次序选中字段或字段组拖动就可以实现操作。移动“数据表”中视图的字段,不会改变表“设计”视图中字段的排列顺序,而只是改变字段在“数据表”视图下字段的显示顺序。二、 调表格行显示高度和列宽度. 调整字段显示高度(对记录行高度的操作)有两种方法:鼠标和菜单命令。. 调整字段显示列宽与调整行高度类似,也有用鼠标和菜单操作两种方法。三、 隐藏列和显示列. 隐藏某些字段列:选中操作字段或字段组后,单击“格式”菜单中的“隐藏列”命令。. 显示隐藏的列:与隐藏操作类似。四、 冻结列 在“数据表”视图中,冻结某字段列或某几个字段列后,无论用户怎样水平滚动窗口,这些字段总是可见的,并且总是显示在窗口的最左边。五、 设置数据表格式 打开表,单击“格式”菜单中的“数据表”命令,可以通过“设置数据表格式”对话框设置表的单元格效果,网格线显示方式,背景颜色等。六、 改变字体显示 打开表后,通过“格式”菜单下的“字体”命令,打开字体设置对话框设置字体。2.4 操作表数据库和表创建以后,一般都需要对它们进行必要的操作。如查找或替换指定的文本,排列表中的数据,筛选符合指定条件的记录等。这些操作都可以在ACCESS的“数据表”视图中完成。2.4.1 查找数据 (编辑 查找) 1.查找指定内容 使用“查找”对话框来进行数据的查找。 查找对话框中的通配符用法: *通配任何个数的字符,它可以在字符串中当作第一个或最后一个字符使用 ?通配任何单个字母的字符 通配方括号内任何单个字符 ! 通配任何不在括号内的字符 就是否的意思,除了它之外eg: !ag 就是除了ag- 通配范围内的任何一个字符,必须以递增排序来指定区域 (A到Z)# 通配任何单个数字符注意:在使用通配符搜索星号(*),问号(?),数据号码(#),左括号( )或者减号(-)时,必须将搜索的符号放在方括号内。如果搜索惊叹号或者右方括号( )不需要放在方括号内。 2.查找空值或空字符串在ACCESS表中,可能会有尚未存储数据的字段,如果某个记录的某个字段尚未存储数据,我们称该记录的这个字段的值为空值。空值与空字符串的含义有所不同。空值是缺值或还没有值,字段中允许使用Null值来说明一个字段里的信息目前还无法得到。空字符串是用双引号括起来的空字符串(即”),且双引号中间没有空格,这种字符串的长度为0。在ACCESS中,查找值或空字符串的方法相似。查找空值时,在“查找”对话框的查找内容中输入:Null后查找查找空字符串,在查找内容中输入不包含空格的双引号(”)即可。2. 4.2 替换数据在操作数据库表时,如果要修改多处相同的数据,可以使用Access的替换功能,自动将查找到的数据更新为新数据。1 替换指定内容ACCESS中通过使用“查找和替换”对话框可以在指定的范围内将指定查找内容的所有记录或某些记录替换为新的内容。2 更改默认设置通过“工具”菜单下打开“选项”窗口,可以在此窗口中选“编辑/查找”页并对“默认查找/替换行为”中的三个选项进行更改默认查找设置。(更改系统默认值的操作)其中,选择“快速搜索”将以全字匹配方式搜索当前字段;选择“常规搜索”将搜索所有字段,并且只需符合字段的任一部分即可;选择“与字段起始处匹配的搜索”则搜索当前字段并且与字段起始字符匹配。2.4.3 排序记录通常在向表中输入数据时,我们不会有意地安排输入数据的先后顺序,只是按数据到来的先后输入,但当从这些数据中查找所需的数据就十分不方便,为了提高查找销路,需要重新整理数据,对此最有效的方法是对数据进行排序。一、 排序规则排序是根据当前表中的一个或多个段的值对整个表中的所有记录进行重新排列。可以按升序也可以按降序。排序记录时,不同的字段类型排序规则有所不同,具体规则:. 英文按字母顺序排序,大小写视为相同,升序时按A到Z排序,降序时按Z到A排序;. 中文按拼音字母的顺序排序,升序时按A到Z排序,降序时按Z到A排序;. 数字按数字的大小排序,升序时从小到大排序,降序时从大到小排序;. 日期和时间字段,按日期的先后顺序排序,升序时按从前到后的顺序排序,降序时按从后向前的顺序排序。排序时要注意:(1) 对于“文本”型的字段,如果它取值有数字,则视数字为字符串,排序时按ASCII码值的大小来排序,而不是按照数值本身的大小来排序。如果希望按其数值大小排序,应在较短的数字前加上零。(2) 按升序排列字段时,如果字段的值为空值,则将包含空值的记录排列在列表的第一条。(3) 数据类型为备注,超级连接或者OLE对象的字段不能排序。(4) 排序后,排序次序将与表一起保存。二、 按一个字段排序记录按一个字段排序记录,可以在“数据表”视图中进行。三、 按多个字段排序记录按多个字段排序时,ACCESS首先根据第一个字段指定的顺序进行排序,当第一个字段具有相同的值时,ACCESS再按照第二个字段进行排序,以此类推,直到按全部指定的字段排好为止。但多个排序依据的字段进行排序时,必须注意字段的先后顺序。先对最左边的这段进行排序,然后依次从左到右进行排序在保存数据时,将排序结果和表一起保存。按多个字段排序记录有两种方法:一是使用“数据表”视图实现排序,另一种是使用“高级筛选/排序”窗口完成排序。使用“数据表”视图按两个字段排序虽然简单,但它只能使所有字段都按同一种次序排序,而且这些字段必须是相邻的字段,如果希望两个字段按不同的次序排序,或都按两个不相邻的字段排序,就必须使用“高级筛选/排序”窗口。(注意最后要选择“应用筛选”才有结果)2.4.4 筛选记录从众多的数据中挑选出一部分满足某种条件的数据进行处理。ACCESS提供了4种方法:按选定内容筛选,按窗体筛选,按筛选目标筛选以及高级筛选。经过筛选后的表,只显示满足条件的记录,而不满足条件的记录将被隐藏起来。. 按选定内容筛选这是一种最简单的筛选方法,使用它可以很容易地找到包含的某字段的记录。操作方法是:选中一个记录某字段中的全部内容后,点击工具栏上的“按选定内容筛选”按钮或“记录”菜单中“筛选”下的“按选定内容筛选”来操作。. 按窗体筛选这是一种快速的筛选方法,使用它不用浏览整个表中的记录,同时对两个以上的字段值进行筛选。按窗体筛选记录时,ACCESS将数据表变成一个记录,并且每个字段是一个下拉列表框,用户可以每个拉列表框中选取一个值作为筛选的内容。如果选择两个以上的值,还可以通过窗体底部的“或”标签来确定两个字段值之间的关系。可以点击工具栏上的“按窗体筛选”按钮或“记录”菜单中的“筛选”下的“按窗体筛选”来操作. 按筛选目标筛选这是一种较灵活的方法,根据输入的筛选条件进行筛选操作方法是:在查询使用的字段上击右键,在弹出的快捷菜单中选择“筛选目标:”并在后面输入查询条件,完后按回车键。. 高级筛选这是一种可以进行复杂的筛选,挑选出符合多重条件的记录。单击“记录”菜单中的“筛选”命令,然后从级联菜单中选择“高级筛选/排序”命令,通过打开的筛选对话框窗口来设置相关选项。第三章 查询使用Access的最终目的是通过对数据库中的数据进行各种处理和分析,从中提取有用信息。查询是ACCESS处理和分析数据的工具,它能够把多个表中的数据抽出来,供用户查看,更改和分析使用。3.1 查询概述查询是ACCESS数据库的重要对象,是用户按照一定条件从ACCESS数据表或已建立的查询中检索需要数据的最主要方法。3.1.1 查询的功能查询最主要的目的是根据指定的条件对表或者其他查询进行检索,筛选出符合条件的记录,构成一个新的数据集合,从而方便对数据表进行查看和分析。利用查询可以实现多种功能。. 选择字段可以只选择表中的部分字段。利用查询这一功能,可以通过选择一个表中的不同字段生成所需的多个表。. 选择记录根据指定的条件查找所需的记录,并显示找到的记录。. 编辑记录(操作查询)可以利用查询添加,修改和删除表中的记录。. 实现计算查询不仅可以找到满足条件的记录了,还可以在建立查询的过程中进行各种统计计算。还可以建立计算字段,利用计算字段来保存计算的结果。. 建立新表查询得到的结果可以建立一个新表。. 为窗体,报表或数据访问页提供数据可以先建立一个查询,然后将该查询的结果作为报表或窗体的数据源。3.1.2 查询的类型ACCESS数据库中查询有选择查询,交叉查询,参数查询,操作查询和SQL查询5类。. 选择查询是最常用的查询类型,是根据指定的查询准则,从一个或多个表中获取数据并显示结果。也可进行分组统计等计算。. 交叉查询此查询是将来源于某个表中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部,然后在数据表行与列的交叉处显示表中的某个字段统计值。交叉查询就是利用了表中的行和列来统计数据的。. 参数查询( 变量)是一种根据用户输入的条件或参数来检索记录的查询。这种查询可以根据用户输入的准则来检索符合相应条件的记录。. 操作查询操作查询是在一次查询操作中对所得结果进行编辑等操作。操作查询有四种:生成表,删除,更新和追加。生成表查询是利用一个或多个表中的全部或部分数据建立新表,生成表查询主要应用于创建表的备份,创建从指定时间显示数据的报表,创建包含旧记录的历史表等;删除查询可以从一个表或多个表中删除记录;更新查询可以对一个或多个表中的一组记录作全面的更改;追加查询可以从一个或多个表中选取的一组记录添加到一个或多个表的尾部。. SQL查询是使用SQL语句来创建的一种查询。主要包括联合查询,传递产寻,数据定义查询和子查询等4种。联合查询是将一个或多个表,一个或多个查询的字段组合作为查询结果中的一个字段,执行联合查询时,将返回所包含的表或查询中对应字段的记录;传递查询是直接将命令发送到ODBC数据,它使用服务器能接受的命令,利用它可以检索或更改记录;数据定义查询可以创建,删除或更改表,或者在当前的数据库中创建索引;子查询是包含另一个选择或操作查询中的SQL SELECT语句, 可以在查询设计网络的“字段”行输入这些语句来定义新字段,或在“准则”行来定义字段的准则。3.1.3 查询的条件带条件的查询是需要通过设置条件来实现,查询条件是运算符,常量,字段值,函数以及字段名和属性的任意组合,能计算出一个结果。. 运算符运算符是组成准则的基本元素。ACCESS提供了关系运算符(=、=)逻辑运算符(Not、And、Or)和特殊运算符(In、Between、Like、Is Null、Not Null)(In(“112266”,”113388”)与”112266” or “113388” 相同). 函数ACCESS提供了大量的内置函数(标准函数),这些函数为拥护更好地构造查询准则提供了极大的便利,也为用户更准确地进行统计计算,实现数据处理提供了有效的方法。数值函数:Abs(数值表达式), Int(数值表达式) Fix Round(数值表达式) Sqr (数值表达式) Sgn(数值表达式)字符函数:Space(数值表达式) String(数值表达式,字符表达式) Left (字符表达式,数值表达式)例如:left(出生地,2)=“北京” RIght(字符表达式,数值表达式)Len(字符表达式) Ltrim(字符表达式) Rtrim(字符表达式) Trim(字符表达式) Mid(字符表达式,数值表达式) 1,数值表达式 2日期时间函数:Day(date) Month(date) Year(date) Weekday(date) Hour(date) Date(.)统计函数:Sum(字符表达式) Avg(字符表达式) Count(字符表达式) Max(字符表达式) Min(字符表达式). 使用数值作为查询条件. 使用文本值作为条件可以方便地限定查询的文本范围例:“教授”or “副教授”; Left(姓名)=“王”; Instr(姓名,“明”)=1 In(“张三”,”李四”) ; “张三” or “李四” ; Not”男” ; Like”王” ; Len(姓名)=2. 使用处理日期结果作为准则可以方便地限定查询的时间范围。例:Between#1990-01-01# And #1998-01-01# ; year(出生日期)=1990 ; Between date() And date()-20; (近20天). 使用字段部分值作为准则例:Mid(课程,4,2)=”计算机; Right(职称,2)=”教授”. 使用空值或空字符串作为准则例:Is Null ; Is Not Null需要主要的是:在准则中字段名必须用方括号括起来;数据类型应与对应字段字义的类型相符合,否则会出现数据类型不匹配的错误3.2 创建选择查询从一个或多个数据源中获取数据的查询称为选择查询。查询分有条件查询和无条件查询!一般建立查询有两种方法:查询向导和“设计”试图。3.2.1 使用“查询向导”用户可以在向导的指示下选择表和表中的字段,但不能设置查询条件。. 创建基于一个数据源的查询. 创建基于多个数据源的查询3.2.2 使用“设计”视图对于有创建有条件的查询需要通过使用查询“设计”视图来完成。. 查询“设计”视图ACCESS中查询有5种试图:设计视图,数据表试图,SQL试图,数据透视表试图和数据透视图视图。在“设计”视图中,既可以创建不带条件的查询,也可以创建带条件的查询,还可以对已建的查询进行修改。查询设计器视图窗口分为上下两部分,上部分为“字段列表”区,显示所选表的所有字段;下半部分为“设计网格”,由一些字段列和已命名的行组成。. 创建不带条件的查询. 创建带条件的查询3.2.3 在查询中进行计算在实际应用中,往往需要对查询的结果进行统计计算。利用设计网络中的“总计”行进行各种统计,通过创建计算字段进行任意类型的计算。. 查询计算功能 在ACCESS查询中,可以执行两种类型的计算。预定义计算和自定义计算。预定义计算即所谓的“总计”计算,是系统提供的用于对查询中的记录组或全部记录进行的计算,它包括总和,平均值,计数,最大值,最小值,标准偏差等。用户自定义计算可以用一个或多个字段的值进行数值,日期和文本计算,此种计算必须直接在设计网络中创建新的计算字段。可以更改字段名字 想显示的名: 原字段名 就可以显示了. 在查询中进行计算总计查询就是在成组的记录中完成一定计算的查询。使用查询“设计”视图中的“总计”行,可以对查询中全部记录或记录组计算一个或多个字段的统计值。(1) 创建总计查询(利用查询设计器视图)(2) 总计项(共有12个)函数有:Sum, Avg, Min, Max, Count, StDev, Var其他总计项:Group By, First, Last, Expression, Where. 在查询中进行分组统计如果需要对记录进行分类统计,可以使用分组统计功能。在“设计”视图中,将用于分组字段的“总计”行设置成“分组”就可以对记录进行分组统计了。. 添加计算字段当需要统计的数据在表中没有相应的字段,或者用于计算的数据值来源于多个字段时,这时就应该在“设计网格”中添加一个计算字段。计算字段是指根据一个或多个表中的一个或多个字段并使用表达式建立的新字段。3.3 创建交叉表查询交叉表查询以一种独特的概括形式返回一个表内的总计数字,这种概括形式其他的查询无法完成;交叉查询为用户提供了非常清楚的汇总数据,便于用户的分析和使用。3.3.1 认识交叉表查询交叉表查询是将来源与某个表中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部,然后在数据表行与列的交叉处显示表中某个字段的各种计算值。也就是说,创建交叉表查询时,必须对行标题和列标题进行分组操作。在创建交叉表查询时,用户需要指定三种字段:一是放在数据表最左端的行标题,它把某一字段或相关的数据放入指定的一行中;二是放在数据表最上面的标题,它对每一列指定的字段或表进行统计,并将统计结果放入该列中;三是放在数据有行与列交叉位置上的字段,用户需要为该字段指定一个总计项。 创建交叉表查询有两种方法:“交叉表查询向导”和查询“设计”视图(查询-交叉表查询,适合多表)3.3.2 使用交叉表查询向导使用查询向导创建交叉查询的数据源必须来自一个表或查询。如果数据源来自多个表,可以先建立一个查询,然后再以此查询作为数据源。3.3.3 使用“设计”视图使用“交叉表查询向导”建立交叉表查询,所用的字段必须来源于同一个表或同一个查询;如果使用的字段不在同一个表或查询中,最简单,灵活的办法是使用“设计”视图,它可以由用户自由地选择一个或多个表,选择一个或多个查询。所以数据源来自一个表或查询使用“交叉表查询向导”比较简单;如果所用数据源来自多个表或多个查询,使用“设计”视图则更方便。3.4 创建参数查询参数查询利用对话框,提示用户输入参数,并检索符合所输入参数的记录或值。可以建立一个参数提示的单参数查询,也可以建立多个参数提示的多参数查询。(条件中: )3.4.1 单参数查询创建单参数查询,就是在字段中指定一个参数,在执行参数查询时,用户输入一个参数值。建立参数查询时应注意:如果在一个已建的查询中创建参数查询,则直接在“设计”视图中打开该查询,然后在其基础上输入参数准则即可。若执行“保存”命令,则存盘后,原查询将被该参数查询内容所替换;若希望保留原查询,应执行“文件”菜单中的“另存为”命令。如果从头开始建立参数查询,应先按前面介绍的方法创建查询,只需在“准则”行上输入参数查询相应的准则,然后执行“保存”命令即可。3.4.2 多参数查询在执行多参数查询时,用户依次输入多个参数值。3.5 创建操作查询操作查询是指仅在一个操作中更改许多记录的查询。操作查询包括:生成表查询,删除查询,更新查询和追加查询等4种。生成表查询就是利用一个或多个表中的全部或部分为数据创建表;删除查询可以从一个或多个表中删除一组记录,删除查询将删除整个记录,而不只是记录中所选择的字段;更新查询对一个或多个表中的一组记录作全部更新;追加查询从一个或多个表中将一组记录添加到一个或多个表的尾部。操作查询与其他几种查询的最大不同就是它要对表中数据进行修改。3.5.1 生成表查询利用一个或多个表中的全部或部分数据建立新表。3.5.2 删除查询可以从单个表中删除记录,也可以从多个相关联的表中删除记录(删除表中同一类的一组记录)如从多个表中删除相关记录必须满足以下条件:. 在“关系”窗口中定义相关表之间的关系. 在“关系”对话框中选中“实施参照完整性”复选框;. 在“关系”对话框中选中“级联删除相关记录”复选框。删除查询的操作要十分地慎重,因为删除后不能恢复!3.5.3 更新查询对表中的记录进行更新和修改。如果用户通过“数据表”视图来更新表中的记录,那么当更新的记录很多,或更新的记录符合一定条件时,最简单,有效的方法是利用ACCESS提供的更新查询。3.5.4 追加查询将某个表中符合一定条件的记录添加到另一个表上,实现一组记录的添加。3.6 创建SQL查询并不是所有的查询都可以在系统提供的查询“设计”视图中进行,有的查询只能通过SQL语句来实现。SQL查询是用户使用SQL语句直接创建的一种查询。实际上,ACCESS的所有查询都可以认为是一个SQL查询,因为ACCESS查询就是以SQL语句为基础来实现查询功能的。3.6.1 查询与SQL视图在ACCESS中,任何一个查询都对应一个SQL语句,查询对象的实质是一条SQL语句。在查询“设计”视图操作状态,可以单击“视图”菜单的“SQL视图”命令,或单击工具栏上的“视图按钮的右侧向下箭头按钮来选“SQL视图”选项操作。3.6.2 SQL语言简介SQL(Structured Query Language, 结构化查询语言) 是在数据库领域中应用最为广泛的数据库查询语言。其主要特点是:(1) SQL是一种一体化语言,包括数据定义,数据查询,数据操纵和数据控制等方面的功能,可以完成数据库活动中的全部工作。(2) SQL是一种高度非过程化的语言。(3) SQL是一种非常简单的语言,它所使用的语言很接近自然语言,易于学习和掌握。(4) SQL是一个共享语言,它全面支持客户机/服务器模式SQL设计巧妙,语言简单,完成数据定义、数据查询、数据操纵和数据控制的核心功能只用9个关键命令。要求掌握的是数据定义、数据查询以及数据操纵的相关基本语句。. CREAT 语句建立数据库的主要操作之一是定义基本表。SQL中可以使用CREAT TABLE语句建立基本表。其语句格式为:CREAT TABLE(字段级完整性约束条件1,字段级完整性约束条件2,) CHAR 文本 SMALLINT 整型. ALTER 语句修改表的结构操作,语句格式:ALTER TABLE ADD字段完整性约束条件ALTER TABLE DROP ALTER TABLE ALTER . DROP 语句删除表,基本格式:DROP TABLE. INSERT 语句向表中插入一条新记录,语句格式:INSERT INTO (,) VALUES(,). UPDATE 语句更新表中记录,语句格式:UPDATE SET = ,= WHERE . DELETE 语句删除表中数据,语句格式:DELETE FROM WHERE . SELECT 语句对表中数据的筛选,投影和连接操作,并能完成对筛选字段的重命名,多数据源数据组合,分类汇总和排序等具体操作。此语句的一般格式为:SELECT ALL DISTINCT * FROM , WHERE GROUP BY HAVING ORDER BY ASCDESC ORDER BY 是排序。3.6.3 创建SQL特定查询SQL特定查询分为联合查询,传递查询,数据定义查询和子查询等4种。. 创建联合查询联合查询将来自一个或多个表或查询的字段组合为查询结果中的一个字段。使用联合查询可以合并两个表中的数据,并可以生成一个新表。它是使用UNION关键命令将两个或多个SELECT语句连接起来。每个SELECT语句都必须以同一顺序返回相同数量的字段,对应的字段除了可以将数字字段和文本作为相应的字段外,其余对应字段都具有兼容的数据类型。如果将联合查询转换为另一类型的查询,例如,转换为选择查询,输入的SQL语句将丢失。. 创建传递查询此查询是SQL 的特定查询之一,是自己并不执行而传递给另一个数据库来执行的查询。应用传递查询的主要目的是为了减少网络负荷。一般创建传递查询时需要完成两项工作,一是设置要连接的数据库;二是在SQL窗口中输入SQL语句。. 创建数据定义查询可以直接创建,删除或更改表,或者为当前数据库中的表创建索引。. 创建子查询子查询由另一个选择查询或操作查询之内的SELECT语句组成。可以在查询设计网格的条件进行来定义字段的条件。 In(select 学号 FROM 成绩2)3.7 编辑和使用查询创建了查询后,还可以在“设计”视图中对其进行修改。3.7.1 运行已创建的查询创建时可以通过工具栏上的“运行”按钮和视图中的“数据表视图”看到查询结果。已创建的可以在查询对象中双击该查询运行,也可以选中该查询后点“打开”按钮运行。3.7.2 编辑查询中的字段1.添加字段 2.删除字段 3.移动字段3.7.3 编辑查询中的数据源1. 添加表或查询 2.删除表或查询3.7.4 排序查询的结果第四章 窗体窗体是ACCESS数据库中的一种对象,通过窗体用户可以方便地输入数据,编辑数据,显示和查询表中的数据。利用窗体可以将整个应用程序组织起来,形成一个完整的应用系统。但任何形式的窗体都是建立在表或查询的基础上。4.1 认识窗体窗体是作为用户和ACCESS应用程序之间的主要接口,可以用于显示表和查询中的数据,输入数据,编辑数据和修改数据。与数据表不同的是窗体本身没有存储数据,也不像表那样只以行和列的形式显示数据。4.1.1 窗体的概念和作用窗体中的信息主要有两类:一类是设计者在设计窗体时附加的一些提示信息;另一类是所处理表或查询的记录,这些信息往往与所处理的记录数据密切相关,当记录变化时,这些信息也随之变化。利用控件可以在窗体的信息和窗体的数据来源之间建立链接。窗体的主要作用是接收用户输入的数据或命令,编辑、显示数据库中的数据,构造方便、美观的输入/输出界面。4.1.2 窗体的组成和结构窗体由多部分组成,每个部分称为一个“节”。大部分窗体只有主体节,可以根据需要加入窗体的页眉,页面页眉,页面页脚及窗体页脚等部分。窗体页眉:位于窗体的顶部位置,一般用于设置窗体的标题,窗体使用说明或打开相关窗体及执行其他任务的命令按钮等;窗体页脚:位于窗体的底部,一般用于显示对所有记录都要显示的内容,使用命令的操作说明等信息。也可以设置命令按钮,以便执行必要的控制;页面页眉:一般用来设置窗体在打印时的页头信息。页面页脚:一般用来设置窗体在打印时的页脚信息。主题节:用来显示记录数据,可以在屏幕或页面上只显示一条记录,也可以显示多条记录。另外窗体还包含标签、文本框、复选框、列表框、组合框、选择框、选顶组、命令按钮、图象等图形变化的对象,这些对象被成为控件,在窗体中起不同的作用。4.1.3 窗体的类型ACCESS提供六种类型的窗体,分别是纵栏式窗体、表格式窗体、数据表窗体、主/子窗体、图表窗体和数据透视表窗体。. 纵栏式窗体将窗体中的一个显示记录按列分隔,每列的左边显示字段名,右边显示字段内容. 表格式窗体可以在一个窗体中显示多条记录的内容。. 数据表窗体它的主要作用是作为一个窗体的子窗体。. 主/子窗体窗体中的窗体称为子窗体,包含子窗体的基本窗体称为主窗体。主窗体和子窗体通常用于显示多个表或查询中的数据,这些表或查询中的数据具有一对多关系。在这种窗体中,主窗体和子窗体彼此链接,主窗体显示某一条记录的信息,子窗体就会显示与主窗体当前记录相关的记录的信息。主窗体只能显示为纵栏式的窗体,子窗体可以显示为数据表窗体,也可以显示为表格式窗体。在子窗体中,可以创建二级子窗体,即,子窗体内又可以含有子窗体。. 图表窗体是以图表方式显示用户的数据。可以单独使用图表窗体,也可以在子窗体中使用图表窗体来增加窗体的功能。图表窗体的数据源可以是数据表,也可以是查询。. 数据透视表窗体是ACCESS为了以指定的数据表或查询为数据源产生一个EXCEL的分析表而建立的一种窗体形式,数据透视表窗体允许用户对表格内的数据进行操作;用户也可以改变透视表的布局,以满足不同的数据分析方式和要求。4.1.4 窗体的视图表有两种试图:“数据表”视图和“设计”视图,而窗体有3种试图,即:“设计”视图,“窗体”视图和“数据表”视图。“设计”视图是用于创建窗体或修改窗体的窗口;“窗体”视图是显示记录数据的窗口,主要用于添加或修改表中的数据;“数据表”视图是以行列格式显示表、查询或窗体数据的窗口,在数据表视图可以编辑、添加、修改、查找或删除数据。创建窗体的工作是在“设计”视图中进行的,完成后可以在“窗体”视图中或“数据表”中进行查看。4.2 创建窗体创建窗体有人工方式(在“设计”视图中进行)或使用“向导”两种方法。人工方式创建窗体需要创建窗体的每一个控件,并建立控件和数据源之间的联系。利用向导可以简单、快捷地创建窗体。ACCESS提供6种制作窗体的向导,包括“窗体向导”、“自动创建窗体:纵栏表”、“自动创建窗体:表格”、“自动创建窗体:数据表”、“图表向导”与“数据透视表向导”。4.2.1 使用“自动创建窗体”使用“自动创建窗体”创建一个显示选定表或查询所有字段及记录的窗体,建成后的窗体中,每一个字段都显示在一个独立的行上,并且左边带有一个标签。4.2. 使用“窗体向导”.创建基于一个表的窗体其数据源可以来自于一个表或查询. 创建基于多个表的主子窗体在创建窗体前,要确定作为主窗体的数据源与作为子窗体的数据源之间存在着“一对多”的关系。在ACCESS中,创建主/子窗体的方法有两种:一是同时创建主窗体与子窗体,二是将已有的窗体作为子窗体添加到另一个已有的窗体中。对于子窗体,可以创建固定显示在主窗体之中的样式,也可以创建弹出式子窗体。 如果存在“一对多”关系的两个表都已经分别创建了窗体,就可以将具有“多”端的窗体添加到具有“一”端的主窗体中去,使其成为子窗体。 在创建基于多个表的窗体时,如果作为数据源的表或查询没建立关系,ACCESS将显示出错误信息提示框。4.2.3 使用“数据透视表向导”数据透视表是一种交互式的表,它可以实现用户选定的计算,所进行的计算与数据在数据透视表中的排列有关。可以通过“新建窗体”对话框中选择“数据透视表向导”建立。4.2.4 使用“图表向导”使用图表窗体能够更直观地显示表或查询中的数据。可以使用“图表向导”创建图表窗体。4.3 自定义窗体利用窗体的“向导”虽然可以方便地创建窗体,但这只能满足一般显示的要求。一些特殊要求还需要用户自己来定义窗体。4.3.1 工具箱的使用利用ACCESS提供的窗体设计工具箱用户可以创建自定义窗体。. 打开和关闭工具箱单击“窗体设计”工具栏上的“工具箱”按钮,或单击“视图”菜单中的“工具栏”下的“工具箱”. 工具箱的移动与锁定移动工具箱的操作步骤是鼠标指向工具箱标题栏按住左键拖动将其移到目标位置后松开即可。如添加多个同一控件,可以双击工具箱中的该控件按钮来锁定,取消锁定可以按键盘的ESC也可以点击其它控件。4.3.2 窗体中的控件控件是窗体上用显示数据、执行操作、装饰窗体的对象。在窗体中添加的每一个对象都是控件。控件的类型可以分为:结合型、非结合型与计算型。结合型控件主要用于显示,输入,更新数据库中的字段;非结合型控件没有数据来源,可以用来显示信息,线条,矩形或图像;计算型控件用表达式作为数据源,表达式可以利用窗体或报表所引用的表或查询字段中的数据,也可以是窗体或报表上的其他空间中的数据。. 标签控件标签主要用来在窗体或报表上显示说明性文本。标签不显示字段或表达式的数值,它没有数据来源。可以将标签附加到其他控件上,也可以创建独立的标签(也称单独的标签),但独立创建的标签在“数据表”视图中并不显示。使用标签工具创建的标签就是单独的标签。. 文本框控件文本框主要用来输入或编辑字段数据,它是一种交互式控件。文本框分为3种类型:结合型,非结合型与计算型。结合型文本框能够从表/查询/SQL语言中获得所需要的内容;非结合型文本框并没有链接到某一字段,一般用来显示提示信息或接收用户输入数据等;在计算型文本框中,可以显示表达式的结果。当表达式发生变化时,数值就会被重新计算。. 复选框/切换按钮/选项按钮控件复选框/切换按钮/选项按钮是作为单独的控件来显示表或查询中的“是”或“否”的值。当选中复选框或选项按钮时,设置为“是”,如果不选则为“否”;对于切换按钮,如果按下切换按钮,其值是“是”,否则其值为“否”. 选项组控件是由一个组框及一组复选框/选项按钮或切换按钮组成。在选项组中每次只能选择一个选项。如果选项组结合到某个字段,则只有组框架本身结合到此字段,而不是组框架内的复选框/选项按钮或切换按钮。. 列表框与组合框控件如果是在窗体上输入的数据总是取自某一个表或查询中的记录数据,或者取自某固定内容的数据,可以使用组合框或列表框控件来完成。这样既可以保证输入数据的正确,也可以提高数据的输入速度。列表框可以包含一列或几列数据,用户只能从列表中选择值,而不能输入新值。使用组合框可以进行选择,也可以输入文本,这也是组合框和列表框的区别。. 命令按钮控件使用命令按钮来执行某项操作或某些操作。. 选项卡与图像控件窗体内容较多无法在一页全部显示时,可以使用选项卡来进行分析,使用时可以单击选项卡上的标签进行页面切换。图像对象可以显示图形,使窗体更加美观。4.3.3 控件的使用在窗体“设计”视图中,用户可以直接将一个或多个字段拖到主体节区域中,ACCESS可以自动地为该字段结合适当的控件或结合用户指定的控件。. 创建结合型文本框控件从字段列表中向窗体的主节区拖字段,可以通过SHIFT键选择相邻的多个字段,也可以通过CTRL键选择不相邻的多个字段,如果要选择所有字段,请双击字段列表标题栏。. 创建标签控件在窗体上显示该窗体的标题,可在窗体页眉处添加一个“标签”。. 创建选项组控件“选项组”控件可以用来给用户提供必要的选择选项,用户只需进行简单的选取即可完成参数的设置。“选项组”中可以包含复选框/切换按钮或选项按钮等控件。可以用向导来创建也可以在窗体的“设计”视图中直接创建。. 创建结合型组合框控件“组合框”能够将一些内容罗列出来供用户选择。“组合框”也分为结合型与非结合型两种。如果要保存在组合框中选择的值,一般创建结合型的“组合框”;如果要使用“组合框”中选择值来决定其他控件的内容,就可以建立一个非结合型的“组合框”。可以利用向导来创建也可以在窗体的设计视图中直接创建。 . 创建结合型列表框件. 创建命令按钮. 创建选项卡控件. 创建图像控件. 添加ACTIVE X 控件ACCESS 提供了功能强大的ACTIVE X 控件。利用ACTIVE X 控件,可以直接在窗体中添加并显示一些具有某一功能的组件。如:利用日历控件显示日期等。. 删除控件4.3.4 窗体和控件的属性在ACCESS中,属性用于决定表/查询/字段窗体及报表的特性。每一个控件都具有各自的属性,窗体本身也有相应的属性。属性决定了控件及窗体的结构和外观,包括它所包含的文本或数据的特性,使用属性表可以设置属性。在选定窗体/节/控件后,单击工具栏上的“属性”按钮可以打开属性表,通过属性框中选择或输入一个设置值或表达式可以设置该属性。. 常用的格式属性4.3.5 窗体和控件的事件ACCESS中的事件主要有键盘事件/鼠标事件/对象事件/窗口事件和操作事件等。不同的对象可触发不同的事件。序与分组“按钮打开对话框进行设置。如果是进行分组统计并输出,则统计计算控件应布置在“组页眉/组页脚”节内相应位置,然后统计函数设置控件源即可。上,但必须包含在主报表/子报表的数据源中。组数据访问页时,下层组级别都呈折叠状态。(3)单击转换对话框中的“转换”按钮,再点“确定”完成。Transfer Text 用于从文本文体导入和导出数据 End Type至少要循环一次
展开阅读全文