




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库应用,数据库应用(Access),单击此处进入课程,课程特点,循序渐进,强调数据库基本理论 案例引导,突出数据库基本操作 实验配套,提高解决实际问题能力,课程目的,掌握组织和管理数据的方法 提高管理与应用数据的水平,教学要求,上课不影响其他同学听课 上机不做与课程无关的事 独立按时完成作业,教学安排,Access基础1周 数据库和表2周 查询2周 窗体2周 宏2周 VBA编程5周 数据访问页和报表2周 数据库应用1周,教学方式,提出问题 研究方法 解决问题,学习方式,讲授与自学 相结合 理论与实践 相结合,上机报告,解题的方法或操作步骤 上机中出现的问题 出现问题的原因及解决方法 心得体
2、会、独到见解等,成绩考核,平时成绩20% 实验成绩(综合作业)20% 期末成绩(机考)60%,教学参考书,数据库技术及应用Access 李雁翎等 高等教育出版社 数据库基础与Access应用教程 陈恭和等 高等教育出版社 Access项目开发实用案例 郑小玲等 科学出版社,课程章节,Access基础,第 1 章,第 2 章,第 3 章,第 4 章,第 5 章,创建和操作数据库,查询的创建和使用,窗体的设计和应用,表的建立和管理,第 6 章,报表的创建和使用,第 7 章,宏的建立和使用,结束放映,第 8 章,Access的编程工具VBA,第 9 章,创建数据访问页,第10章,应用系统创建方法,1
3、.1 数据库基础知识 1.2 关系数据库概念 1.3 数据库设计基础 1.4 Access数据管理系统概述,第1章 Avvess基础,第1章 Access基础,1.1.1 数据管理技术发展过程,人工管理阶段 文件系统阶段 数据库系统阶段 高级数据库系统阶段,1.1.2 数据库系统,数据 描述事物的物理符号序列 数据库 DataBase,简称DB。是长期存放在计算机内,有组织的、大量的、可共享的数据集合,1.1.2 数据库系统,数据库管理系统 DataBase Management System,简称DBMS 数据库应用系统,1.1.3 数据模型,实体的概念 实体(Entity ) 属性(Att
4、ribute) 关键字(Keyword) 联系(Relationship),1.1.3 数据模型,E-R模型 一对一联系 一对多联系 多对多联系,1.1.3 数据模型,数据模型 层次模型 网状模型 关系模型,1.2.1 关系模型,数据结构 关系:二维表 属性:列 元组:行 候选码 主码 外码 关系模式,1.2.1 关系模型,关系操作集合 查询操作和更新操作 完整性规则 实体完整性 参照完整性 用户定义完整性,1.2.2 关系运算,选择 选择运算是在关系中选择满足某些条件的元组 投影 投影运算是从关系模式中指定若干个属性组成新的关系,1.2.2 关系运算,连接 联接运算将两个关系模式通过公共的属
5、性名拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组,1.3.1 数据库设计的规范化,第一范式(1NF) 设R是一个关系模式,如果R中的每个属性都是不可再分的最小数据项,称R满足第一范式(简称R) 第一范式简记为1NF,1.3.1 数据库设计的规范化,第二范式(2NF) 如果关系模式R是第一范式,且所有非主属性都完全依赖于其主关键字,则称R满足第二范式(简称R) 第二范式简记为2NF),学生(学生编号,姓名,性别,年龄,入校日期,团员否,简历,照片) 选课成绩(学生编号,课程编号,成绩) 课程(课程编号,课程名称,周学时,学分),1.3.1 数据库设计的规范化,第三范式(3NF)
6、 如果关系模式R是第二范式,且所有非主属性对任何主关键字都不存在传递依赖,则称R满足第三范式或简称R是第三范式(第三范式简记为3NF)。,课程(课程编号,课程名称,周学时,学分) 课程(课程编号,课程名称,周学时) 学分(周学时,学分),1.3.2 数据库设计的步骤,需求分析 确定所需表 确定所需字段 确定关键字 确定表间联系,1.4 Access数据管理系统概述,Access的基本特点 Access的基本对象 Access的操作窗口,作业,P26 一 1 3 4 P26 二 110 P27 三 15,2.1 数据库的创建 2.2 数据库的打开和关闭 2.3 数据库的管理 2.4 数据库对象的
7、使用,第2章 创建和操作数据库,第2章 创建和操作数据库,2.1 数据库的创建,创建空数据库 使用向导创建数据库,2.2 数据库的打开与关闭,打开数据库 通过任务窗格打开 使用命令打开 关闭数据库,2.3 数据库的管理,转换数据库 压缩和修复数据库,2.4 数据库对象的使用,打开数据库对象 复制数据库对象 复制Access文件内的数据库对象 复制表结构或将数据追加到已有表中 将对象复制到其他 Microsoft 应用程序中 删除数据库对象,2.4 数据库对象的使用,在数据库对象的视图之间切换 对数据库对象进行分组,作业,P40 一 3 4 5 P41 二 110 P42 三 15,3.1 表的
8、建立 3.2 表的维护 3.3 表的使用,第3章 表的建立和管理,第3章 表的建立和管理,3.1.1 表结构的组成,3.1.1 表结构的组成,字段名称 长度为164个字符 包含字母、汉字、数字、空格和其他字符,不能以空格开头 不能包含句号(.)、惊叹号(!)、方括号( )和重音符号() 不能使用ASCII为032的字符,3.1.1 表结构的组成,数据类型 文本 备注 数字 日期/时间 货币 自动编号 是/否 OLE对象 超级链接 查问向导,3.1.1 表结构的组成,字段属性 定义字段属性可以实现输入数据的限制和验证,或控制数据在数据表视图中的显示格式 字段大小 格式 输入掩码 ,3.1.2 建
9、立表结构,使用数据表视图 使用设计视图 使用表向导,建立表结构输入表内容,3.1.2 建立表结构,定义主键(主关键字) 唯一标识记录的一个字段或多个字段的组合 类型有自动编号、单字段和多字段等三种 方法: 在建立表结构过程中定义主键;在建立表结构后,重新打开设计视图定义主键,3.1.3 设置字段属性,字段大小 用于限制输入到字段中的数据的最大长度 在设计视图的字段属性框的字段大小属性中选择字段大小的类型(数字)或输入字段大小的字符个数(文本),3.1.3 设置字段属性,格式 可确定数字、货币、日期等字段格式 只影响数据的显示格式 在设计视图的字段属性框的字段格式属性中选择字段格式的类型,3.1
10、.3 设置字段属性,输入掩码 可将格式中相对固定的符号固定成格式的一部分,减化输入 控制数据的输入格式 文本、数字、日期/时间、货币等类型字段可定义输入掩码 在显示数据时,格式属性优先于输入掩码,3.1.3 设置字段属性,有效性规则 为防止数据的输入错误而设置 在设计视图的字段属性框的有效性规则属性中该字段的有效性规则 对文本类型字段,可设置输入的字符个数不能超过某一个值;对数字类型字段,可使Access只接受一定范围内的数据;对日期/时间类型字段,可将数值限制在一定的月份或年份以内,3.1.3 设置字段属性,有效性文本 当输入的数据违反了有效性规则时,系统显示的文本 默认值 可减少数据输入量
11、 在设计视图的字段属性框的默认值属性中输入默认的的值,3.1.3 设置字段属性,索引 索引能根据键值加速在表中查找和排序的速度,能对表中记录实施唯一性 创建基于单个字段的索引 创建基于多个字段的索引,3.1.4 建立表间关系,表间关系的概念 一对一 一对多 多对多,班长,班级,班级,学生,学生,课代表,在Access中只有前两种,多对多被转换成两个一对多联系,3.1.4 建立表间关系,定义关系的条件 参照完整性 设置参照完整性应符合的条件 使用参照完整性应遵循的原则,3.1.4 建立表间关系,建立表间关系,3.1.4 建立表间关系,设置参照完整性 编辑表间关系,3.1.4 建立表间关系,子数据
12、表 指在一个数据表视图中显示已与其建立关系的数据表视图,3.1.5 向表中输入数据,以数据表方式输入数据 创建查阅列表字段,3.1.6 获取外部数据,导入数据 从外部获取数据后形成自己数据库中的数据表对象,并与外部数据源断绝联接 导入方法:导入命令,3.1.6 获取外部数据,链接数据 在自己的数据库中形成一个链接表对象,每次在Access数据库中操作数据时,都是即时从外部数据源获取数据 导入方法:链接表命令,注意导入与链接的区别,3.2.1 打开和关闭表,打开表 使用打开命令(改内容) 使用设计命令(改结构) 关闭表,3.2.2 修改表结构,添加字段 修改字段 删除字段 重新设置关键字,3.2
13、.3 编辑表内容,定位记录 选择记录 鼠标 键盘,3.2.3 编辑表内容,添加记录 修改记录 删除记录 复制数据,3.2.3 编辑表内容,添加记录 修改记录 删除记录 复制数据,3.2.4 调整表格式,改变字段显示次序 调整行显示高度 手工 行高命令 调整列显示宽度 手工 列宽命令,3.2.4 调整表格式,隐藏不需要的列 显示隐藏的列 冻结列 设置数据表格式 改变字体显示,3.3.1 查找数据,查找指定内容 在数据表视图中,使用编辑菜单中的查找命令 注意通配符的用法 查找空值或空字符串 空值是字段中还没有值,可用Null值代替 空字符串是用双引号括起来的空字符串,即”,中间没有空格,长度为0,
14、3.3.2 替换数据,替换指定内容 在数据表视图中,使用编辑菜单中的替换命令 注意通配符的用法 注意格式设置,3.3.3 排序记录,概念 根据当前表中的一个或多个字段的值来对整个表中的所有记录进行重新排列 排序规则 文本:按ASCII码排 数值:按大小排 日期:按先后排,3.3.3 排序记录,按一个字段排 按多个字段排,Access先对最左边字段进行排序,然后依此从左到右进行排序。因此,选择按多个字段进行排序时,应注意字段的先后顺序。,3.3.4 排序记录,按选定内容筛选 筛选符合单值的记录 例如:将学生表中的男生记录筛选出来 按窗体筛选 筛选符合两个以上值的记录 例如:将学生表中男生团员记录
15、筛选出来,3.3.4 排序记录,按筛选目标筛选 筛选符合某条件的记录 例如:在选课成绩表中,筛选低于60分的记录 按高级筛选 筛选满足复杂条件的记录 例如:查找1992年参加工作的男教师,并按系别升序排序,作业,P87 一 1 2 3 Access的导入数据功能体现了Access的哪一重要特性? 表与表之间的关系有几种?各自的特点是什么?最常用的关系是哪一种? 默认值属性作用是什么?一般什么情况下设置默认值属性比较合适?如何设置?,作业,P87 二 110 P88 三 15,4.1 查询概述 4.2 选择查询的创建 4.3 在查询中进行计算 4.4 其他查询的设计 4.5 SQL查询的创建 4
16、.6 已建查询的编辑和使用,第4章 查询的创建和使用,第4章 查询的创建和使用,4.1.1 查询功能,问题提出 建立数据库的目的是为更好地管理和使用其中的数据,获取有用信息。但数据是分散放在各个表中的,如何有效地获取待查询的信息 例如 ,“张三”的考试成绩?男女同学的人数?,4.1.1 查询功能,查询含义 查询对象不是数据的集合,而是操作的集合 查询的结果是一个数据集,也称为动态集。它很像一个表,但并没有存储在数据库中 创建查询后,只保存查询的操作,只有在运行查询时,才会从查询数据源中抽取数据,并创建它;只要关闭查询,查询的动态集就会自动消失,4.1.1 查询的功能,查询功能 选择字段 选择记
17、录 编辑记录 实现计算 建立新表 为窗体、报表或数据访问页提供数据,4.1.2 查询的类型,选择查询 根据指定的查询条件,从一个或多个数据源中获取数据并显示结果 交叉表查询 将来源于某个数据源中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部,然后在行与列的交叉处显示某字段的统计值,4.1.2 查询的类型,参数查询 利用对话框来提示用户输入查询条件,并根据输入的条件来检索记录 操作查询 四种:生成表、删除、更新和追加,4.1.2 查询的类型,SQL查询 使用SQL语句创建的查询 某些SQL查询称为SQL特定查询,包括四种,联合查询、传递查询、数据定义查询和子查询,4.1.3 查询的要
18、素,查询的内容 数据源:存放数据的表或查询 查询条件,4.1.3 查询的要素,4.2.1 使用查询向导,操作者可在向导指示下选择一个或多个数据源、一个或多个字段创建查询 使用向导不能创建带条件的查询,4.2.1 使用查询向导,创建单表查询 例:查找“教师”表中的记录,并显示“姓名”、“性别”、“工作时间”和“系别”4个字段 创建多表查询 例:查找每名学生选课成绩,并显示“学生编号”、“姓名”、“课程名称”和“成绩”等字段。查询名为“学生选课成绩”,4.2.2 使用查询设计视图,步骤 添加数据源表或查询 选择查询内容字段 填写查询条件(可选) 设置排序(可选),4.2.1 使用查询设计视图,创建
19、不带条件的选择查询 例:查找每名学生选课成绩,并显示“学生编号”、“姓名”、“课程名称”和“成绩”等字段。查询名为“学生选课成绩”,4.2.1 使用查询设计视图,创建带条件的选择查询 例:查找1992年参加工作的男教师,并显示“姓名”、“性别”、“学历”、“职称”、“系别”和“联系电话”,4.2.1 使用查询设计视图,条件,4.2.3 查询条件,运算符 算术运算符:+ - * / 关系运算符:= 逻辑运算符:and or not 其他:Between and ,like,in,Is Null,Is Not Null,4.2.3 查询条件,函数 数值函数:Abs,Int,Sqr, 字符函数:Le
20、ft,Right,Len, ,4.2.3 查询条件,条件写法 = #1992-1-1# = “男” between 32 and 65 或 =32 and =65 in (“李元”, “王朋”) 或 “李元” or “王朋” like “王*” 或 left(姓名,1)=王 left(教师档案表!姓名,1)=王 not “王*”,4.2.3 查询条件,设置查询条件时注意 日期型数据两边加“#”,字符型数据两边加半角双引号 在条件中字段名必须用方括号括起来 两个以上条件时,同行相与,异行相或 条件中引用表名时,应用方括号括起来,与字段名之间用“!”。如 教师档案表!姓名,设置查询条件,例如:性别
21、为“男”的教师,设置查询条件,例如:高级职称的教师,设置查询条件,例如:高级职称的“女”教师,设置查询条件,例如:05级学生的成绩,假定学号的前四位为年级,设置查询条件,例如:没有联系电话的教师,设置查询条件,例如:姓“李”的学生,4.3.1 查询中的计算功能,预定义计算 自定义计算,4.3.1 查询中的计算功能,预定义计算 自定义计算,是系统提供的用于对查询中的记录组或全部记录进行的计算 包括:总计、平均值、最小值、最大值、计数、第一个记录、条件、表达式等,4.3.1 查询中的计算功能,预定义计算 自定义计算,点按钮出 “总计”行,统计所有学生的人数,4.3.1 查询中的计算功能,预定义计算
22、 自定义计算,分组计算:分组,各门课程平均分 最高分 最低分,4.3.1 查询中的计算功能,预定义计算 自定义计算,用一个或多个字段的值进行数值、日期和文本计算 需要在查询设计网格中直接添加字段,4.3.1 查询中的计算功能,预定义计算 自定义计算,表达式,各门课程的平均分加10分,4.3.2 总计查询,在建立查询时进行统计计算,例1:统计学生人数 例2:统计男教师人数,4.3.3 分组总计计算,将记录进行分组,对每个组的值进行统计 分组统计时,只要在该字段的“总计”行上选择“分组”就可以了,例3:统计20021021班男女生的平均选课成绩,4.3.4 添加计算字段,统计的数据不在表中,或者用
23、于计算的数据值来源于多个字段时,例4:计算学生的年龄 例5:计算教师的工龄,4.4.1 交叉表查询,交叉表查询的含义 所谓交叉表查询,就是将来源于某个表中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部,然后在数据表行与列的交叉处显示表中某个字段的各种计算值 与Excel中的数据透视表一样,1.交叉表查询的含义,4.4.1 交叉表查询,使用向导创建交叉表查询,例6:统计每班男女生人数 例7:统计每班每门课的平均成绩,注意:若所建交叉表查询涉及多张表,使用向导时,应先建立多表查询,再建立交叉表查询,注意:在交叉表中行标题可以有多个,但列标题和值只能有一个,4.4.1 交叉表查询,使用设
24、计视图创建交叉表查询,例6:统计每班男女生人数 例7:统计每班每门课的平均成绩,4.4.2 参数查询,参数查询的含义 利用对话框,提示用户输入参数,并检索符合所输参数的记录或值 可以建立一个参数的查询,也可以建立多个参数的查询,4.3.2 参数查询,参数查询的含义,4.3.2 参数查询,建立一个参数的参数查询 建立多个参数的参数查询,例8:显示某学生所选课程的成绩,例9:显示某班某门课学生的选课成绩,4.4.3 操作查询,操作查询的含义 操作查询是指仅在一个操作中更改许多记录的查询 例如,在一个操作中删除一组记录,更新一组记录等等,4.4.3 操作查询,操作查询的类型 生成表查询: 利用一个或
25、多个表中的数据创建一个新表 删除查询: 从一个或多个表中删除指定的数据 更新查询: 对一个或多个表中的记录进行更新 追加查询: 从一个或多个表中将一组记录追加到另一个或多个表中,4.4.3 操作查询,利用生成表查询建立一个新表 利用删除查询删除一组记录,例10:建立一个新表存放90分以上学生的基本情况,例11:删除选课成绩表中成绩低于60分的记录,4.4.3 操作查询,利用更新查询改变一组记录 利用追加查询向另一个表中添加记录,例12:将88年以前参加工作的教师职称改为“副教授”,例13:将8090分学生记录追加到例10所建表中,4.4.3 操作查询,注意: 操作查询执行后,不能撤消刚 刚做
26、过的更改操作,对查询的再认识,对内:查询/维护等(广义) 对外:将部分数据呈现给用户,方便用户,同时,也使得数据库更安全 作为窗体、报表、页的数据源 查询的结果是一个虚表,定义下来的查询只是相应的SQL命令,数据仍在原数据表中,所以查询的结果会随数据表中数据的改变而改变,4.5.1 查询与SQL视图,对查询的再认识 查询可作为窗体、报表、页的数据源 查询的结果是一个虚表,所定义的查询只是相应的SQL命令,数据仍在原数据表中,所以查询的结果会随数据表中数据的改变而改变,4.5.1 查询与SQL视图,设计视图,SQL视图,4.5.2 SQL简介,SQL简介 问题:是否有一种标准化语言能够实现对各种
27、关系数据库的访问? 结构化查询语言(Structured Query Language) 功能:数据的查询、定义、操纵、控制,4.5.2 SQL简介,SQL语句 查询:SELECT 操纵:INSERT、UPDATE、DELETE 定义:CREATE、DROP、ALTER 控制:GRANT、REVOTE,4.5.2 SQL简介,CREATE语句 格式: CREATE TABLE ( 字段完整性约束条件, 字段完整性约束条件 ),CREATE语句举例,CREATE TABLE 学生 (学号 CHAR(8) NOT NULL UNIQUE, 姓名 CHAR(8),性别 CHAR(1), 出生日期 D
28、ATE,班级 CHAR(20);,4.5.2 SQL简介,ALTER语句 格式: ALTER TABLE ADD 字段完整性约束条件 DROP 完整性约束名 MODIFY ;,4.5.2 SQL简介,例:在“雇员”表中增加职务字段 TABLE ADD CHAR(10);,4.5.2 SQL简介,DROP语句 格式:DROP TABLE ; 例:将已建立的“雇员”表删除 DROP TABLE 雇员;,4.5.2 SQL简介,SELECT语句 格式: SELECT , FROM , WHERE GROUP BY ASC|DESC;,SELECT语句举例,SELECT 姓名,学号,班级 FROM 学
29、生档案表 SELECT 姓名,学号,班级 FROM 学生档案表 WHERE 性别=男;,学生档案表.性别=“男”;,4.5.2 SQL简介,INSERT语句 格式: INSERT INTO (,) VALUES (),);,INSERT语句举例,INSERT INTO 学生 VALUES (“19991021”,“李四”,“男”);,4.5.2 SQL简介,UPDATE语句 格式: UPDATE SET = WHERE ;,UPDATE语句举例,UPDATE 学生 SET 姓名=“赵五” WHERE 姓名=“李四”;,4.5.2 SQL简介,DELETE语句 格式: DELETE FROM W
30、HERE ;,DELETE语句举例,DELETE FROM 学生 WHERE 学号=“991021”;,4.5.3 SQL特定查询的创建,联合查询 传递查询 数据定义查询 子查询 不能单独建立 不能定义联合查询和交叉表查询,4.6.1 运行已创建的查询,通过工具栏上的“执行”按钮 通过“数据库”窗口中“查询”对象下的“打开按钮” 鼠标双击要运行的查询,4.6.2 编辑查询中的字段,添加字段 删除字段 移动字段,4.6.3 编辑查询中的数据源,添加表或查询 删除表或查询,4.6.4 调整查询的列宽,鼠标直接拖拽 鼠标双击,4.6.5 排序查询的结果,可使结果按一定规则进行排序 使用向导时设置 在
31、查询设计视图中进行设置,作业,P132 一 35 书写查询条件时,如何处理文本型、日期型的数据? 查询与筛选的主要区别是什么? 建立分组查询时,总计项应选择什么? 操作查询有几种?各自的作用是什么?,作业,P132 二 110 P133 三 15,5.1 窗体概述 5.2 创建窗体 5.3 窗体的设计 5.4 窗体的美化,第5章窗体的设计和应用,第5章 窗体的设计和应用,窗体是应用程序和用户之间的接口,是创建数据库应用系统最基本的对象。用户通过使用窗体来实现数据维护、控制应用程序流程等人机交互的功能。,5.1 窗体概述,5.1.1 窗体的概念和作用,显示和编辑数据 接受数据输入 信息显示和数据
32、打印 控制应用程序流程,5.1.2 窗体的视图,设计视图 窗体视图 数据表视图 数据透视表视图 数据透视图视图,5.1.3 窗体的类型,数据操作窗体 控制窗体 交互信息窗体,5.2.1 自动创建窗体,使用“自动窗体” 使用“自动创建窗体”,5.2.2 使用向导创建窗体,创建单一数据源窗体 创建涉及多个数据源的窗体,5.2.3 创建图表窗体,数据透视表 数据透视图,5.3.1 窗体的设计视图,窗体的组成和结构 工具栏 工具箱 字段列表,5.3.2 属性设计,属性对话框 窗体的基本属性,5.3.3 常用控件的使用,控件的基本操作 标签 文本框 组合框与列表框 命令按钮 复选框、选项按钮、切换按钮和
33、选项组,5.4.1 设置控件的格式属性,使用属性对话框设置控件的“格式”属性 使用格式工具栏设置控件的“格式”属性,5.4.2 设置窗体的格式属性,应用条件格式 为窗体添加状态栏 使用背景位图,5.4.3 使用自动套用格式,自动套用格式是窗体修饰和美化的快捷方式,5.4.4 对齐窗体中的控件,改变控件大小和定位控件 将多个控件设置为相同尺寸 将多个控件对齐,作业,6.1 报表简介 6.2 报表的创建 6.3 报表中的计算 6.4 报表的美化,第6章报表的创建和使用,第6章 报表的创建和使用,报表和窗体类似,其数据来源于数据表或查询。报表能够按照所希望的详细程度概括和现实数据,并且几乎可以用任何
34、格式来观看和打印数据。,6.1 报表简介,6.1.1 报表的视图,设计视图 打印预览视图 版面预览视图,6.1.2 报表的组成,报表页眉/页脚(节) 页面页眉/页脚(节) 主体(节) 组页眉/页脚(节),6.1.3 报表的类型,表格式报表 纵栏式报表 图表报表 标签报表,6.2.1 自动创建报表,使用“新对象”中的“自动报表” 使用“新建”对话框中的“自动创建报表”,6.2.2 使用向导创建报表,使用向导创建报表时,向导会提示用户选择数据源、字段、版面及所需的格式,根据用户的选择来创建报表,6.2.3 创建图表报表,用Access提供的“图表向导”可以创建图表报表。“图表向导”功能十分强大,它
35、提供了多达20种的图表形式供用户选择,6.2.4 创建标签报表,创建标签使用“标签向导”。利用它可将数据库中的数据加载到控件上,从而定义指定输出格式的标签,6.3.1 使用计算型控件,报表中的统计运算是通过在报表中添加计算型控件实现的。一般把这种计算型控件放在组页脚或报表页脚节,以便对每个分组或整个报表的记录进行统计汇总,6.3.3 报表的排序和分组,以记录的某个或多个特征(字段)分组,可使具有共同特征的一组记录组成一个集合,在显示或打印报表时,它们将相邻排序。对分组产生的每个集合,可以设置计算汇总等信息。一个报表最多可对10个字段或表达式进行分组,6.4.1 自动套用格式,Access提供了
36、6种预定义的报表格式:大胆、正式、淡灰、紧凑、组织和随意。用户还可以把自定义的报表格式添加到“自动套用格式”的选项中,6.4.2 添加背景图案,为报表添加背景 为报表页眉节添加徽标,6.4.3 使用分页符强制分页,如果要将报表中的每个记录或分组记录均另起一页,可以通过设置主体节或主页眉、组页脚的强制分页属性实现,6.4.4 添加日期和时间,使用“日期和时间”对话框 使用计算型控件,应用日期和时间函数构建表达式,6.4.5 添加页码,自动生成的报表在报表页脚处显示日期和时间。如果是自定义生成的报表,则可以通过系统提供的“日期和时间”对话框为报表添加日期和时间,作业,7.1 宏的基本概念 7.2
37、宏的创建和使用 7.3 复杂宏的创建和使用,第7章宏的建立和使用,第7章 宏的建立和使用,7.1.1 宏的定义和特点,什么是宏 操作和操作的集合,其中每个操作执行特定的功能,7.1.1 宏的定义和特点,什么是宏,ACCESS将一些基本操作定义成宏命令的形式 如:打开窗体,显示消息框等) 使用者可以用这些宏命令编写自己的宏 一旦运行宏,则自动按顺序执行宏中的宏命令,特点: 创建的过程简单。不需编程,不需记住各种复杂的语法,即可实现某些特定的自动处理功能,7.1.1 宏的定义和特点,常用宏命令,打开和关闭表、查询、窗体和报表(OpenForm/OpenReport) 运行选择查询和动作查询(App
38、lyFilter /FindRecord) 为窗体中的控件赋值(SetValue) 运行菜单命令(RunCommand) 控制ACCESS窗口(Quit/ShowToolbar),7.1.1 宏的定义和特点,常用宏命令,发出警告信息(MsgBox/Beep) 为表等对象制作副本、改名等(CopyObject)运行菜单命令(RunCommand) 保存和删除数据库对象(Save),7.1.2 宏组的概念,可以将功能相近或彼此相关的若干宏组织成宏组 好处是便于宏的组织和管理,在宏组中,依靠宏名区分其中的每个宏。 形式为:宏组名宏名,7.2.1 宏的设计窗口,创建宏,工具:宏设计器 方法: 在“数据
39、库”窗口的“宏”对象下创建宏 在要使用宏的窗体或报表上创建宏,7.2 宏的创建和使用,创建宏 工具:宏设计器 方法: 在“数据库”窗口的“宏”对象下创建宏 在要使用宏的窗体或报表上创建宏,7.2.1 宏的设计窗口,7.2.2 宏的创建,步骤: 1. 进入宏设计器 2. 编辑宏(选宏命令,设置参数) 3. 保存宏,选择宏命令,添加说明,7.2.2 宏的创建,例7-1 创建宏”欢迎”,7.2.2 宏的创建,本例中用到的两个宏命令: MsgBox:显示含有警告或提示信息的消息框 “消息”:指定消息框中显示的信息 “警告”:指定信息前显示的图标的类型 “标题”:指定消息框标题栏中显示的标题 OpenF
40、orm:按指定窗口模式和视图方式打开一个指定窗体 视图方式:可以是“窗体”、“设计”、“打印预览”等。 窗口模式:可以是“普通”、“隐藏”、“图标”和“对话框”,7.2.3 宏的运行,运行宏时,系统按照宏中宏命令的排列顺序由上向下依次执行各个宏命令 1.直接运行宏 方法1:在“数据库”窗口运行宏。 方法2:菜单“工具”“宏”“运行宏”,7.2.3 宏的运行,2.用事件触发宏。常用: (1)将宏和某个窗体、报表相连 (2)用菜单或工具栏上的某个命令按钮触发宏 (3)将宏和窗体、报表中的某个控件相连 (4)用快捷键触发执行宏 (5)制作autoexec宏,使打开数据库时自动运行宏,7.2.3 宏的
41、运行,例7-2 在“工具”菜单项中添加一条命令,使得单击后能够运行已创建的宏“欢迎”。,操作步骤: (1)菜单“工具”“自定义”命令,打开“自定义”窗口,选择“命令”选项卡。 (2)在“类别”列表中选择“所有宏”选项。 (3)用鼠标将宏“欢迎”拖曳到菜单“工具”中。,7.2.4 在窗体中加入宏,实际使用中更多的是将宏与窗体或报表中的某些控件相联系,当这些控件的某个事件发生时触发运行宏,7.2.4 在窗体中加入宏,例7-3 修改第5章所建的窗体“学生”,添加查询功能。,7.2.4 在窗体中加入宏,操作步骤: (1)修改“学生”窗体(略) (2)创建宏“查询学号”,(3)连接宏“查询学号”与窗体中
42、的“查询”按钮 右键单击窗体中的“查询”按钮,打开其属性窗口,设置按钮的单击事件为运行宏“查询学号”,7.2.4 在窗体中加入宏,本例中用到的两个宏命令: GoToControl:将焦点移到窗体上指定的字段,为执行下面的FindRecord宏命令做准备。 FindRecord:在当前窗体数据集中查找符合条件的记录。 注意:引用窗体中控件的方式为: =Forms!学生.txt学号,7.3.1 宏组的创建和运行,调出“宏名”列: 菜单 “视图” “宏名”,7.3.1 宏组的创建和运行,例7-4 创建窗体“按性别浏览学生信息”,本例的关键: 3个按钮连接的宏分别对数据集进行不同的筛选,可将它们组织在
43、一个宏组“按性别浏览”中,7.3.1 宏组的创建和运行,操作步骤: (1) 创建宏组“按性别浏览”,(2) 将宏组中的宏与窗体中的按钮连接,7.3.2 条件操作宏,条件宏是设置了宏命令的执行条件的宏 运行宏时先测试条件,如果条件成立,则执行对应的宏命令,否则不执行,7.3.2 条件操作宏,关于创建条件宏 操作时需要先执行菜单命令“视图” “条件”,调出“条件”列 其中条件是任何计算结果为 True/False 或“是/否”的表达式 例如:Forms!按性别浏览学生.frm性别=1,7.3.2 条件操作宏,例7-5 修改“按性别浏览学生”窗体,将其中的按钮用选项组替换。,7.3.2 条件操作宏,
44、本例的关键: 哪一个单选按钮被选中决定执行何种筛选,所以判断哪个单选钮被按下即为本例中的条件,Forms!按性别浏览学生.frm性别=,1,7.3.2 条件操作宏,操作步骤: (1)修改窗体“按性别浏览学生”(略) (2)创建宏“按性别浏览之选项组”,(3)将宏与窗体中的选项组控件连接(略),7.3.2 条件操作宏,例7-6 修改例5-11所建“系统登录”窗体,为其添加密码验证功能。,7.3.2 条件操作宏,分析 当输入了正确的用户名“cueb”和正确的口令“1234” 关闭“系统登录”窗体 显示“欢迎”消息框 如果输入的用户名或口令不正确 显示“密码不正确!”消息框 将用户名和口令两个文本框
45、清空 焦点移回“用户名”文本框,结论:在“确定”按钮上设置条件宏,实现上面的操作,7.3.2 条件操作宏,操作步骤: (1) 修改窗体“系统登录”(略),操作步骤:,(2) 创建宏“密码验证”,操作步骤:,(3) 将宏与窗体中的按钮控件连接,本例用到的宏命令: SetValue:为窗体或报表上的控件、字段或属性设置值。 StopMacro:终止宏的运行。 Close:用来关闭指定的窗口。,作业,P203 习题7,实验作业,P204 实验7,8.1 VBA程序设计概述 8.2 VBA编程基础 8.3 VBA程序流程控制 8.4 VBA数组 8.5 VBA模块的创建 8.6 VBA程序的调试 8.
46、7 VBA的数据库编程,第8章Access的编程工具VBA,第8章 Access的编程工具VBA,关于VBA,BASIC Beginners All-purpose Symbolic Instruction Code 初学者万用符号指令代码 Visual Basic Windows环境下的应用程序开发工具,是可视化的、面向对象的、采用事件驱动方式的高级程序设计语言,关于VBA,VBA 是Microsoft Office内置的编程语言 基本语法与VB相同 具有简单、易学的特点,与Visual Basic不同的是,VBA不是一个独立的开发工具,一般被嵌入到像Word、Excel、Access这样的
47、宿主软件中。,8.1.1 VBA编程环境,在Office中使用的VBA开发界面被称为VBE(Visual Basic Editor),它具有编辑、调试和编译Visual Basic程序的功能,ACCESS的状态: 设计 运行,ACCESS的环境: 可视化交互环境 VBA编程环境(VBE),8.1.1 VBA编程环境,从Access数据库窗口切换到VBE环境 在数据库窗口新建或打开一个模块对象 “工具”“宏”“Visual Basic编辑器” 使用标准工具栏上的“代码”按钮,也可以在设计窗体、报表时转到VBE环境,图,8.1.2 面向对象程序设计的概念,VBA采用了面向对象的程序设计方法 1.对
48、象和集合 对象:在采用面向对象程序设计方法的程序中,程序处理的目标被抽象成了一个个对象,每个对象具有各自的属性、方法和事件 类:是对一类相似对象的定义和描述。因此类可看做是对象的模板,每个对象由类来定义 对象集合:是由一组对象组成的集合,这些对象的类型可以相同,也可以不同,8.1.2 面向对象程序设计的概念,Access程序中的常用对象,8.1.2 面向对象程序设计的概念,2.属性和方法 属性:用来表示对象的状态,如窗体的Name(名称)属性、Caption(标题)属性等 方法:用来描述对象的行为,如窗体有Refresh方法,Debug对象有Print方法等,8.1.2 面向对象程序设计的概念
49、,引用对象的属性或方法时应该在属性名或方法名前加对象名,并用对象引用符“”连接,Me!Label1.caption=春江水暖鸭先知 Debug.print 你好!,8.1.2 面向对象程序设计的概念,3.事件和事件过程 事件:是对象可以识别的动作,通常由系统预先定义 事件过程:对象在识别了所发生的事件后执行的程序,Private Sub Command1_Click() Me!Label1.Caption = 首都经济贸易大学 Me!Text1 = End Sub,8.2.1 数据类型,VBA的数据类型共有13种。每种数据类型的数据在存储时所占的存储空间和处理时能够进行的运算都不相同,VBA的
50、数据类型,VBA的数据类型(续表),8.2.2 常量,常量就是其值在程序运行期间不变的量 字面常量 符号常量 固有常量,8.2.2 常量,1.字面常量,各种数字型常量 如123、0.005,也可以用指数形式,如1250.0可写成1.25E+3 字符型常量 如Visual、北京 日期型常量 如#2007-1-1#、#1/1/2007#,#2002-5-4 14:30:00 PM# 布尔型常量 只有两个值True或False,8.2.2 常量,2.符号常量,如果程序中多处用到某个常量,将其定义成符号常量可增加代码的可读性,也便于维护 用关键字Const定义符号常量: Const PI as sin
51、gle=3.1415926,8.2.2 常量,3.固有常量,一类特殊的符号常量,通常已经预先在类库中定义好,编程者只要直接使用这些已经定义好的符号常量即可: 例如,VBA类库中 vbRed代表红色,vbBlue代表蓝色,8.2.3 变量,变量是其值在程序运行期间变化的量 ,程序运行时,变量代表的就是内存中的某块临时存储空间,8.2.3 变量,1.变量的命名规则 以字母或汉字开头,后可跟字母、数字或下划线。 变量名最长为255个字符。 不区分变量名的大小写,不能使用关键字。 字符之间必须并排书写,不能出现上下标。,8.2.3 变量,2.变量的声明,格式为 Dim 变量名 AS 类型,如果省略“A
52、S 类型”,则定义的变量为Variant型。,例如 Dim ab As integer , sum As single,8.2.3 变量,2.变量的声明 隐式声明(不推荐):VBA允许不声明变量直接使用 。所有隐式声明的变量都是Variant数据类型 建议在程序中显式声明变量,8.2.4 函数,VBA提供了大量的内置函数 按照函数的功能,VBA的内置函数可分为 数学函数 字符串函数 日期函数 转换函数等,8.2.4 函数,MsgBox函数 功能:在对话框中显示消息,等待用户单击按钮,并返回一个Integer型数值。 格式:,MsgBox(提示,按钮、图标和默认按钮,标题),MsgBox函数,下
53、面的程序是某个窗体中单击“退出”按钮后执行的动作。运行时先显示消息框,并将返回的结果赋给Integer型变量Response。 Private Sub cmd退出_Click() Dim response As Integer response = MsgBox(真的要退出吗?, vbYesNoCancel + _ vbQuestion, 提示) If response = vbYes Then 如果单击“是”按钮,则关闭当前窗体, DoCmd.Close End If End Sub,8.2.4 函数,InputBox函数 功能:在对话框中显示提示信息,等待用户输入正文并按下按钮,返回文本框
54、中输入的内容(String型) 。 格式:,InputBox(提示,标题,默认),例如: strName = InputBox(请输入您的姓名, 输入, 张三),8.2.5 表达式,是将常量、变量、字段名称、控件的属性值和函数用运算符连接而成的运算式 算术表达式 字符表达式 关系表达式 布尔表达式 对象引用表达式,8.2.5 表达式,1.算术表达式,当几个算术运算符一起使用时,运算顺序由优先级决定。 使用圆括号可以改变原有的运算顺序 。,8.2.5 表达式,2.字符表达式,字符运算符: Next i Debug.Print 另起一行 寻找最大值和最小值 max = a(1): min = a(
55、1) For i = 2 To 10 If max a(i) Then min = a(i) Next i 输出结果 Debug.Print max=; max Debug.Print min=; min End Sub,8.4.2 数组的应用,例8-7编程在立即窗口输出所示矩阵。,1 1 1 2 2 2 3 3 3,Option Base 1 Public Sub gc5() Dim c(3, 3) As Integer Dim i As Integer, j As Integer 赋值 For i = 1 To 3 For j = 1 To 3 c(i, j) = i Next j Nex
56、t I 输出 For i = 1 To 3 Debug.Print For j = 1 To 3 Debug.Print c(i, j); Next j Next i End Sub,8.4.2 数组的应用,本例采用选择法,其基本思路如下。 找出a(1)-a(5)中的最大值,放在a(1)中 找出a(2)-a(5)中的最大值,放在a(2)中 找出a(4)-a(5)中的最大值,放在a(4)中 问题归结为寻找4次最大值,例8-8 编程输入5个整数,并将5个数按升序排序。,Option Base 1 Public Sub gc6() Dim p(5) As Integer Dim imin As In
57、teger 存放最小值的下标 Dim i As Integer, j As Integer, t As Integer Debug.Print 排序前: For i = 1 To 5 赋值并输出 p(i) = InputBox(p( Next i For i = 1 To 4 排序 寻找最小值的位置 imin = i For j = i To 5 If p(imin) p(j) Then imin = j Next j 交换 t = p(i): p(i) = p(imin): p(imin) = t Next i,Debug.Print Debug.Print 排序后:“ 输出排序结果 For
58、 i = 1 To 5 Debug.Print p(i); Next i End Sub,8.5.1 VBA标准模块,VBA程序由模块组成。组成VBA程序的模块有类模块和标准模块 标准模块一般用来承载在程序其它部分要引用的代码,这些代码按照其是否有返回值分为Sub过程和Function函数。因而标准模块不与某个具体的对象相连,它的作用就是为其他模块提供可共享的公共Sub过程和Function函数,8.5.1 VBA标准模块,创建标准模块的方法 在数据库设计窗口创建模块 单击数据库工具栏的“新建”按钮 在VBE环境创建模块 选择“插入”“模块”命令,8.5.2 过程的创建和调用,过程是一段可以实
59、现某个具体功能的代码 与函数不同,过程没有返回值 既可以在类模块中,也可以在标准模块中创建过程,下面的过程将两个参数的值互换 Public Sub swap(x As Integer, y As Integer) Dim t As Integer t = x: x = y: y = t End Sub,8.5.2 过程的创建和调用,过程的定义形式如下: Public|PrivateStatic Sub 过程名(变量名1As 类型,变量名2As 类型,) 语句块 Exit Sub 语句块 End Sub,8.5.2 过程的创建和调用,过程名的命名规则与变量名等其他标识符的命名规则相同。 过程名后括号内的变量也叫形式参数。如果过程有形式参数,则要在定义过程时指明形参的名称和类型;如果省略类型,则形参的默认类型为Varient型。 语句Exit Sub的作用是中途提前退出过程。,8.5.2 过程的创建和调用,创建过程的方法是: 打开模块,选择菜单“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中暑防治课件教学
- 资产打包出租管理协议书
- 中小学生课件网站
- 货车转让合同协议书模板
- 中学英语说课课件
- 2025年的广东省房地产买卖合同
- 饰面用花岗岩矿资源开发露天开采项目可行性研究报告写作模板-备案审批
- 电子商务平台用户增长策略优化合同
- 2025建筑设备分期付款购买合同建筑设备转让协议
- 2025企业向银行借款合同范本
- 2025年广东高考政治试卷真题答案详解讲评(课件)
- 卡口及道路交通智能监控系统方案设计
- 2025年家庭照护师职业资格考试试题及答案
- 呼吸机相关性肺炎的预防和护理
- 2025年绥化市中考化学试题卷(含答案解析)
- 门诊口腔院感基础知识培训
- 论咏叹调《妈妈不在》的形象刻画与唱段处理
- 危重病人观察和护理要点
- 砌体工程培训课件
- GB/T 45719-2025半导体器件金属氧化物半导体(MOS)晶体管的热载流子试验
- 2025-2030中国医药商业行业盈利态势与投资潜力分析报告
评论
0/150
提交评论