计算机基础考试知识点_资格考试-计算机等级考试

上传人:汽*** 文档编号:568526677 上传时间:2024-07-25 格式:PDF 页数:40 大小:2.13MB
返回 下载 相关 举报
计算机基础考试知识点_资格考试-计算机等级考试_第1页
第1页 / 共40页
计算机基础考试知识点_资格考试-计算机等级考试_第2页
第2页 / 共40页
计算机基础考试知识点_资格考试-计算机等级考试_第3页
第3页 / 共40页
计算机基础考试知识点_资格考试-计算机等级考试_第4页
第4页 / 共40页
计算机基础考试知识点_资格考试-计算机等级考试_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《计算机基础考试知识点_资格考试-计算机等级考试》由会员分享,可在线阅读,更多相关《计算机基础考试知识点_资格考试-计算机等级考试(40页珍藏版)》请在金锄头文库上搜索。

1、第一章 数据库系统的基础知识 1.1 数据库系统概述 1.2 数据模型 1.3 关系数据库 1.4 数据库设计基础 1.5 Access2003 数据库简介 1.1 数据库系统概述 1.1.1 数据库系统的组成 数据:描述事物的符号记录,是数据库中存储的基本对象。例如文字、图形、图像、声音等。 数据库 (DB) : 长期存储在计算机内的、 有组织的、 可共享的数据集合。 数据库管理系统 (DBMS ) :位于用户与操作系统之间的一层数据管理软件,是数据库系统的中心枢纽。能科学的组织和储数据,高效的获取和维护数据。 数据库管理系统的主要功能: 数据定义功能 数据操纵功能 数据库的运行管理 数据库

2、的建立与维护功能 数据库系统:在计算机系统中引入数据库之后组成的系统,用来组织和存取大量数据的管理系统。数据库系统是由计算机系统(硬件和软件系统) 、数据库、数据库管理系统、数据库管理员和用户组成的具有高度组织性的整体。 通常把数据库系统简称为数据库。 1.1.2 数据库系统的特点: 数据的结构化 数据的共享性 数据的独立性 数据的存取粒度 数据库管理系统对数据进行统一的管理和控制 为用户提供了友好的接口 1.1.3 高级数据库阶段 1、分布式数据库系统 2、数据库的发展方向 一是改造和扩充关系数据库,以适应新的应用要求; 二是改用新的数据库模型。 1.2 数据模型 数据模型:是现实世界数据特

3、征的抽象,是工具,是用来抽象、表示和处理现实世界中的数据和信息的工具。数据模型应满足以下三个方面的要求: 1、能够比较真实的模拟现实世界 2、容易被人理解 3、便于在计算机系统中实现 数据模型的组成要素:数据模型是由数据结构、数据操作和数据的约束条件三部分组成的。 数据结构:所研究对象的集合,这些对象是数据库的组成部分。 数据结构分为两类:一类是与数据类型、内容、性质有关的对象; 一类是与数据之间联系有关的对象。 数据操作:是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。 数据的约束条件:是一组完整性规则的集合。 概念模型 概念模型涉及以下术语: 1、实体:客观存在

4、并可相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。 2、属性:描述实体的特性称为属性。属性的具体取值称为属性值,用以刻画一个具体实体。 3、关键字:如果某个属性或属性组合能够唯一的标识出实体集中的各个实体,可以选做关键 字,也称为码。 4、 联系: 实体集之间的对应关系称为联系, 它反映现实世界事物之间的相互关联。 联系分为种,一种是实体内部各属性之间的联系,另一种是实体之间的联系。 5、E-R图:常用实体短横线联系方法来描述现实世界的概念模型。 E-R 图有三个要素。实体:用矩形并在框内标注实体名称来表示。属性:用椭圆表示,并用连线将其与相应的实体连接起来。联系:用菱形表示,

5、菱形框内写明联系名,并用连线分别与有关实体连接起来,同时在连线上标上连线的类型(1:1、1:n 或 m:n) 联系有三种类型。 1、一对一联系:如果对于实体集 A 中的每一个实体,实体集 B 中至多有一个实体与之联系反之亦然,则称实体集 A 与实体集 B 具有一对一联系,记为 1:1。例如:系和主任 2、一对多联系:如果对于实体集 A 中的每一个实体,实体集 B 中有 n 个实体(n0)与之联系,反之,对于实体集 B 中的每一个实体,实体集 A 中至多有一个实体与之联系,则称实体 A与实体集 B 具有一对多联系,记为 1:n。例如:系和学生 3、多对多联系:如果对于实体集 A 中的每一个实体,

6、实体集 B 中有 n 个实体(n0)与之联系,反之,对于实体集 B 中的每一个实体,实体集 A 中也有 m 个实体(m0)与之联系,称实体集 A 与实体集 B 具有多对多联系,记为 m:n。例如:学生和课程 常用的数据模型 层次模型:该模型的基本数据结构是层次结构, 也称树型结构, 树中每个节点表示一个实体类型。这些节点应满足:有且只有一个节点无双亲结点(根节点) ;其他节点有且仅有一个双结点。 网状模型:网状模型的数据结构是一个网状结构。应满足以下两个条件的基本层次联系集合:个节点可以有多个双亲结点;多个节点可以无双亲结点。 关系模型:关系模型的数据结构是二维表,由行和列组成。一张二维表称为

7、一个关系。关系模中的主要概念有:关系、属性、元组、域和关键字。 面向对象模型:面向对象的数据模型中的基本数据结构是对象,一个对象由一组属性和一组方组成,属性用来描述对象的特征,方法用来描述对象的操作。一个对象的属性可以是另一个对象,另一个对象的属性还可以用其他对象描述,以此来模拟现实世界中的复杂实体。数据库的体系结构 数据库系统的三级模式结构 数据库系统的二级映像功能 1.3 关系数据库 关系的一些术语 1、关系:在关系模型中,一个关系就是一张二维表,每一个关系都有一个关系名。在数据库中,一个关系存储为一个数据表。 2、属性:表中的列称为属性,每一个列都有一个属性名,对应数据表中的一个字段。

8、3、元组:表中的行称为元组。一行就是一个元组,对应数据表中的记录,元组的各分量分别对应于关系的各个属性。关系模型要求每个元组的每个分量都是不可再分的数据项。 4、域:具有相同数据类型的值的集合称为域,域是属性的取值范围,即不同元组对同一个属性的取值所限定的范围。 5、候选码:如果通过关系中的某个属性或属性组能唯一地标识一个元组,称该属性或属性组为候选码。 6、主码(主键) :在一个关系中有多个候选码,则选定其中一个为主码(主键) 。主码的属性称为主属性。 7、外码(外键) :如果表中的一个字段不是本表的主码,而是另外一个表的主码或候选码,这个字段(属性)就称为外码。 关系模型 关系数据库采用关

9、系数据模型(简称关系模型)作为数据组织方式,而关系模型是用二维表格结构来表示实体及实体间联系的模型。二维表中的每一列代表实体或实体间关系的某种属性,二维表中的一行叫做一个元组,是记录类型的实例,代表了某个具体的实体或具体实体间的特定关系。关系模型不仅可以方便的表示两个实体类型间的 1:1、1:n 关系,而且可以直接描述他们之间的 m :n 关系。 关系模型由关系数据结构、关系操作集合和完整性规则三部分组成。 关系运算 1、传统的集合运算 并运算:设有两个关系 R 和 S,它们具有相同的结构, R 和 S 的并是由属于 R 或属于 S 的元组组成的集合,运算符为 U。 记为 T= RUS 差运算

10、: R 和 S 的差是由属于 R 但不属于 S 的元组组成的集合,运算符为- 。 记为 T= R-S 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据

11、库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实交运算:R 和 S 的交是由既属于 R 又属于 S 的元组组成的集合,运算符为 n。 记为 T= RnS=R-(R-S) 2、专门的关系运算 选择运算: 选择关系中满足一定条件的元组。 从关系中找出满足给定条件的那些元组称为选择。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。 投影运算:选取关系中的某些列,并且将这些列组成一个新的关系。从关系模型中挑选若干属性组成新的关系称为投影。 联接运算:选择和投影运算都属于一目运算,它们的操作对象只是一个关系。联接运算是二目运算,需要两个关

12、系作为操作对象。联接是将两个关系模式通过公共的属性名拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。 关系完整性 实体完整性 实体完整性规则:若属性 A 是基本关系 R 的主码,则属性 A 不能取空值。实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。参照完整性 参照完整性规则:若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 K 相对应(基本关系 R 和 S 不一定是相同的关系) ,则 R 中的每个元组在 F 上的值必须如下: (1) 、或者取空值(F 的每个属性值均为空值) (2) 、或者等于 S 中的某个元组的主码值。

13、参照完整性规则就是定义外码与主码之间的引用规则。 用户定义的完整性 用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的 数据必须满足的语义要求。 1.4 数据库设计基础 1.4.1 数据库设计步骤 1、设计原则 关系数据库的设计应遵从概念单一化“ 一事一地” 的原则 避免在表之间出现重复字段 表中的字段必须是原始数据和基本数据元素 用外部关键字保证有关联的表之间的联系 2、 设计的步骤和过程 (1) 、需求分析 信息需求 处理要求 安全性和完整性要求 (2) 、确定需要的表 每个表应该只包含关于一个主题的信息 表中不应该包含重复信息,并且信息不应该在表之间复制 (

14、3) 、确定所需字段 每个字段直接和表的实体相关 以最小的逻辑单位存储信息 表中的字段必须是原始数据 确定主关键字字段 (4) 、确定联系 一对多联系 多对多联系 一对一联系 (5) 、设计求精 是否遗忘了字段 是否存在保持大量空白字段 是否有包含了同样字段的表 表中是否带有大量不属于某实体的字段 是否在某个表中重复输入了同样的信息 是否为每个表选择了合适的主码 是否有字段很多而记录很少的表,而且许多记录中的字段值为空 1.5 Access 2003 数据库简介 Access 的发展过程 Access 2003 新增功能 第二章 Access 2003 数据库 2.1 Access 2003

15、数据库开发环境 2.2 Access 2003 数据库操作与管理 2.3 Access 2003 数据库安全性 2.4 安全机制管理 2.5 加密数据库 2.1 Access 2003 数据库开发环境 2.1.1 Access 2003 数据库的安装、启动与关闭 安装 启动 关闭 2.1.2 Access 2003 数据库组成 1、表:表是数据库最基本的组件,是存储数据的基本单元,由不同的列、行组合而成,每一列据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件

16、是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实代表某种特定的数据类型,称为字段;每一行由各个特定的字段组成,称为记录。 2、查询:通过设置某些条件,从表中获取所需要的数据。按照指定规则,查询可以从一个表、一组相关表和其他查询中

17、抽取全部或部分数据,并将其集中起来,形成一个集合供用户查看。 3、窗体:是数据库和用户的一个联系界面,用于显示包含在表或查询中的数据和操作数据库中的数据。在窗体中,不仅可以包含普通的数据,还可以包含图片、图形、声音、视频等多种对象。 4、报表:通常作为数据统计的方式来使用。 5、页:是 Access 2000 之后新增的对象,指的就是网页。 6、宏:是由一系列命令组成的集合,以实现自动执行重复性工作的功能。使用宏可以简化一 些经常性的操作。 7、模块:是用 VBA 语言编写的程序段,它以 Visual Basic 为内置的数据库程序语言。对于数 据库的一些较为复杂或高级的应用功能,需要使用 V

18、BA 代码编程实现。 2.1.3 Access 2003 数据库操作环境 1、数据库窗口 2、组 3、Access 2003 帮助系统 2.2 Access 2003 数据库操作与管理 2.2.1 创建数据库 使用向导创建数据库 自定义创建数据库 数据库的打开与关闭 2.2.2 数据库管理 转换数据库 压缩和修复数据库 拆分数据库 同步复制 2.3 Access 2003 数据库安全性 2.3.1 设置数据库密码 设置密码 使用密码 撤销密码 2.3.2 用户集安全机制 用户、组和权限 工作组信息文件 2.3.3 使用权限 显示权限和隐式权限 权限所适用对象 2.4 安全机制管理 增加帐户 删

19、除帐户 更改账户权限 打印帐户和组帐户列表 2.5 加密数据库 数据库加密是指对数据库文件进行压缩,加密后的数据库无法通过工具程序或字处理程序解 密。加密后的数据库依然可以在 Access 2003 系统中打开,不限制用户对对象的访问。 第 3 章 表 3.1 创建表 3.2 管理与维护表 3.3 操作表 3.4 数据的导入与导出 3.1 创建表 Access 2003 提供三种创建表的方法: 1、使用设计器创建表 2、使用向导创建表 3、通过输入数据创建表 使用设计视图创建表 步骤:1.在数据库窗口中选择表对象,双击使用设计器创建表 2.或者单击【新建】按钮,选择设计视图 3.在表设计视图中

20、, 【字段名称】列输入字段名, 【数据类型】列选择字段的数据类型, 【说明】栏中输入有关此字段的说明,窗口下部的【字段属性】区用于设置字段的属性。 4.所有的字段名、数据类型、说明及字段属性都设置完后,选择【文件】| 【保存】或者单击工具栏中的【保存】按钮。 5.如果在保存表之前未定义主码字段,则 Access2003 将询问是否由系统自动添加一个主码。选择【是】表示确认,选择【否】表示不需要自动添加主码字段。 关于字段名称、数据类型、说明 字段名称 在“ 字段名称” 列中可以添加或显示已有字段名称,字段名的命名必须符合据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图

21、像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实Access2003 的对象命名规则。 (1) 、长度最多可达 64

22、 个字符; (2) 、可以包括字母、数字和空格,以及除句点、惊叹号、重音符号和方括号外的所有特殊字符; (3) 、不能使用前导空格或者控制字符(ASCII 值从 031的字符) 。 2. 数据类型:用于指定在字段中存储的数据类型。 3. 说明 该列用于对字段进行必要的说明。 例如:字段的含义及用途等 字段属性:决定了如何存储和显示字段中的数据 查阅属性:字段的查阅属性选项卡只有一个【显示控件】属性,该属性仅对文本、数字和是/否类型的字段有效。 1.对文本和数字类型的字段提供了三个选项值:文本框(默认值) 、列表框和组合框 2.对是/否类型的字段提供了 3 个选项值:复选框(默认值) 、文本框和

23、组合框 主 码 主码 (也称主键、主关键) :用于唯一标识表中 每条记录的一个或一组字段。 表设计主码,可以确保唯一性,避免任何重复的数值或 Null (空)值保存到主码字段中。 在 Access 2003 中,可以定义 3 种主码: 自动 编号 、 单字段 及 多字段主码 自动编号主码: 创建一个空表时,在保存表之前如果未设置表的主码,Access2003 会询问是否需要设置一个自动编号的主码。它的作用是在表中添加一个自动编号字段,在输入记录时,自动编号字段可设置为自动输入连续数字的编号。 单字段主码:在表中,如果某一字段的值能唯一标识一条记录,就可以将此字段指定为主码。如果选择作为主码的字

24、段有重复值或 Null(空)值,Access 2003 就不会将它设置为主码。 多字段主码:在表中,可以将两个或更多的字段指定为主码(至多包括 10 个字段) 。 设置主码的操作步骤: 1、在设计视图中打开表; 2、单击行选择器,选择主码字段所在的行,如果要设置多字段主码,先按住 Ctrl 键,然后单击行选择器选择所需的字段; 3、单击工具栏中的【主码】按钮,或右击,从弹出的快捷菜单中选择【主码】命令。 索 引 创建索引 1、创建单字段索引 在设计视图中打开需要设置单字段索引的表; 单击要设置索引的字段行; 在【字段属性】选项卡中,单击【索引】属性 框,根据字段的数据值,选择【有(无重复)】

25、或【有(有重复)】选项。 2、创建多字段索引 在设计视图中,打开需要创建多字段索引的表; 选择【视图】| 【索引】命令,或者单击工具栏中 的【索引】按钮 ,打开 在【索引名称】列中输入索引名称; 在【字段名称】列中,单击右边向下箭头,从下拉列表中选择索引的第一字段; 在【排序次序】列中,选择【升序】或【降序】 选项; 根据需要可继续定义其他需要索引的字段。 查看与编辑索引 在设计视图中打开包含索引的表; 选择【视图】| 【索引】命令,或单击工具栏中【索引】按钮,打开【索引】对话框; 在【索引】对话框中列出当前表中已定义的索引名称、索引字段、索引的排序次序等; 要删除某个索引,可以单击行选定器选

26、择索引,然后按 Delete 键删除。 使用向导创建表 步骤:1.在数据库窗口中选择表对象 2.单击新建按钮,选择表向导 3.直接双击使用向导创建表 通过输入数据创建表 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数

27、据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实1.在数据库窗口中选择表对象,双击通过输入数据创建表 2.此时系统打开一个空表 3.如果要对字段重新命名,可双击字段名,然后输入新名称。4.在各字段中输入相应的数据。 5.输入数据后,单击工具栏中的【保存】按钮,或者选择【文件】菜单中【保存】命令,在显 示的【另存为】对话框中输入表的名称,单击【确定】按钮保存表。 3.2 管理与维护表 3.2.1 表间关系的建立 如果两个表使用了共同的字段,就应该为这两个表建立一个关系,

28、通过表间关系就可以指出一个表中的数据与另一个表中的数据的相关方式。表间关系的类型有:一对一、一对多、多对多 当创建表间关系时,必须遵从参照完整性规则,这是一组控制删除或修改相关表数据方式的规则。 参照完整性规则: 1、在将记录添加到相关表中之前,主表中必须已经存在了匹配的记录; 2、如果匹配的记录存在于相关表中,则不能更改主表中的主码; 3、如果匹配的记录存在于相关表中,则不能删除主表中的记录。 创建表间关系 1、在数据库窗口中,单击工具栏中的【关系】按钮,或在数据库窗口中右击,在快捷菜单中 选择【关系】命令 2、在窗口中右击,从快捷菜单中选择【显示表】命令 3、在【关系】窗口中,将显示添加的

29、表及字段,主码自动用粗体标志。 4、在【编辑关系】对话框中选中【实施参照完整性】和【级联更新相关字段】复选框。 5、单击【联接类型】按钮,打开【联接属性】对话框。 6、在【编辑关系】对话框中,单击【创建】按钮,即在关系表之间用一条线将二者连接起来, 表示已经创建好表之间的关系。 7、关闭【编辑关系】对话框,保存设定的关系。 编辑与删除表间关联 对已经存在的关系,单击关系连线,连线会变黑,右击,从快捷菜单中选择【编辑关系】命令,或者双击关系连线,系统会打开【编辑关系】对话框,从中可以对创建的关系进行修改。 单击关系连线后按 Delete 键或右击并从快捷菜单中选择【删除】命令,可删除表间的关系。

30、 3.2.2 修改表结构 添加、删除、重命名字段和移动字段的位置 在【设计】视图中,可以进行添加新字段的操作 1、添加字段 2、删除字段 3、重命名字段 4、移动字段的位置 修改字段的数据类型 修改字段的属性 3.3 操作表 3.3.1 数据输入 在数据库窗口中,选中要打开的数据表,在表名上双击,或者单击工具栏中的【打开】按钮,即进入数据表视图窗口。 窗口的主要组件:记录选择器按钮 星号 记录导航器 输入“ 是/否” 型数据 输入“ 日期/时间” 型数据 输入“OLE对象” 型数据 输入“ 超链接” 型数据 输入“ 查阅向导” 型数据 3.3.2 排序记录 排序就是按照某个字段的内容值重新排列

31、数据记录。默认情况下,Access 2003 按主码字段排序 记录,如果表中没有主码,则以输入的次序排序记录。在数据检索和显示时,可按不同的顺序来排列记录。 1、单字段排序:若要对表或窗体中的某个字段排序,先单击要排序的字段,然后进行下列操作之一:单击工具栏中的【升序】或【降序】按钮。 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理

32、系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实使用【记录】| 【排序】命令,选择【升序排序】或【降序排序】 。 右击字段并从快捷菜单中选择【升序排序】或【降序排序】命令。 若要将记录恢复到原来的顺序,使用【记录】| 【取消筛选/排序】命令,或右击数据表并从快捷菜单中选择【取消筛选/排序】命令。 2、多字段排序:如果要将两个以上的字段排序,这些字段在数

33、据表中必须相邻。排序的优先权从左到右。在确保要排序的字段相邻后,选择这些字段,再选择【升序】或【降序】排列。 3、保存排序顺序:改变记录的排序后,在关闭表时,Access 2003 会提示是否保存对设计(包括排序顺序)的更改。选择【是】,就保存排序,再打开时将按该排序显示。 3.3.3 筛选记录:当要显示数据表或窗体中的某些而不是全部记录时,可使用筛选操作。筛选处理是对记录进行筛选,选择符合准则的记录。准则是一个条件集,用来限制某个记录子集的显示。Access 2003 提供了 5 种筛选记录的方法。 按窗体筛选 按选定内容筛选 内容排除筛选 高级筛选/排序 输入筛选 3.3.4 设置数据表格

34、式 1、设置行高和列宽 2、数据字体的设置 3、表格样式的设置 4、隐藏列 5、冻结列 3.4 数据的导入与导出 3.4.1 导入、导出数据 导入数据:使用导入操作可以将外部数据源数据变为 Access 格式。 导出数据:导出数据是将 Access 数据库中的表、查询或报表复制到其它格式的数据文件中。 3.4.2 链接数据 链接数据就是在源数据和目标数据之间建立一个同步的影像,所有对外部数据源数据的改动都会及时地反映到目标数据库中, 同时如果在 Access 2003 中对链接数据进行了修改也会同步反映到外部数据源数据中。 操作方法:打开目标数据库,选择【文件】| 【获取外部数据】| 【链接表

35、】命令,在打开的对话框中,选择需要链接的文件及相关选项。取消链接:在数据库窗口中删除链接表即可。 第四章 查询 4.1 查询的种类与应用 4.2 查询的建立方法 4.3 查询条件 4.4 查询设计 4.5 SQL 查询 4.1 查询的种类与应用 查询是 Access 处理和分析数据的工具,它能够把多个表中的数据抽取出来,供用户查看、更改和分析使用。 4.1.1 查询的种类 1、选择查询:选择查询可以从一个或多个表或者其他的查询中获取数据,并按照所需要的排列次序显示,利用选择查询可以方便地查看一个或多个表中的部分数据。查询的结果是一个数据记录的动态集,用户可以对动态集中的数据记录进行修改、删除,

36、也可以增加新的记录,对动态集所做的修改会自动写入相关联的表中。 2、操作查询:操作查询就是在一个操作中对查询中所生成的动态集进行更改的查询。操作查询可以分为生成表查询、追加查询、更新查询和删除查询。操作查询只能更改和复制用户的数据,而不能返回数据记录。 生成表查询:可以利用从一个或多个表及查询中的查询结果创建一个新表。 追加查询:将查询结果添加到现存的一个或多个表或者查询的末尾。 生成表查询和追加查询可以复制原有的数据。 更新查询:根据查询中指定的条件,更改一个或多个表中的记录。 删除查询:根据查询中指定的条件,从一个或多个表中删除相关记录。 更新查询和删除查询可以更改现存的数据。 3、SQL

37、 查询 SQL 是一种结构化查询语言,是数据库操作的工业化标准语言,使用 SQL 语言可以对任何数据库管理系统进行操作。SQL 查询就是使用 SQL 语言创建的查询,它又可以分为联合查询、传据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒

38、度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实递查询和数据定义查询等。 4、交叉表查询:交叉表查询可以汇总数据字段的内容。在这种查询中,汇总计算的结果显示在行与列交叉的单元格中。交叉表查询还可以计算平均值、总计、最大值或最小值等。 5、参数查询:参数查询可以在运行查询的过程中输入参数值来设定查询准则,而不必重新创建一个新查询。参数查询不是一种独立的查询,它扩大了其他查询的灵活性。执行参数查询时,系统会显示一个对话框提示输入参数的值。 4.1.2

39、查询的应用 1、选择字段 在查询中,可以只选择表中的部分字段生成 所需的多个表。 2、选择记录 根据指定的条件查询表中的记录。 3、编辑记录 编辑记录主要是添加记录、修改记录和删除 记录等。 4、 实现计算 可以在查询中进行各种统计计算, 还可以建立 一个计算字段来保存计算结果。 5、利用查询的结果生成窗体或报表 6、利用查询的结果创建表 4.2 查询的建立方法 4.2.1 使用查询向导 4.2.2 使用查询设计器 4.2.1 使用查询向导 简单查询是应用最广泛的一种查询,它可以从一个或多个表、查询中查找相关记录。 使用简单查询向导创建的查询具有以下特点: 不能添加选择准则或者指定查询的排序次

40、序。 不能改变查询中字段的次序,字段将一直以第一个向导对话框中添加它们时的顺序出现。 1、简单查询向导 (1)在数据库窗口中,选择【查询】对象双击【使用向导创建查询】 ,系统打开【简单查 询向导】的第一个对话框,如图 (2)在【表/查询】下拉列表框中选择【表:学生】 ,学生表的所有字段都将出现在【可用字段】列表框中。 (3)在【可用字段】列表框中选择查询字段并按按钮将其添加到【选定的字段】列表框中,也可以通过双击字段将其添加到【选定的字段】列表框中。重复步骤(2)和(3) ,完成表中字段的添加。 (4)单击【下一步】按钮,打开第二个向导对话框,选择是使用明细查询还是使用汇总查询。默认明细查询。

41、 (5)单击【下一步】按钮,打开最后一个对话框,如图在【请为查询指定标题】文本框中,输入查询名字,单击【完成】按钮,在数据表视图中显示查询结果。 2、向导的汇总查询 (1)在数据库窗口中,选择【查询】对象,双击【使用向导创建查询】,系统打开【简单查询向导】 的第一个对话框;在【表/查询】下拉列表框中选择【表:学生】 ,添加学生表的“ 姓名”字段到【选定的字段】列表框中;在【表/查询】下拉列表框中选择【表:选课成绩】项,添 加选课成绩表的“ 成绩” 字段到【选定的字段】列表框中, (2)单击【下一步】按钮,在打开的对话框中,选择【汇总】选项,单击【汇总选项】按钮,打开对话框选中【汇总】 、 【平

42、均】 、 【最小】和【最大】复选框分别计算学生的总成绩、平均成绩、最低成绩和最高成绩。选中【统计选课成绩中的记录数】复选框,为分组查询添加一列,提供记录计数。 (3)单击【确定】按钮,返回第二个向导对话框,然后单击【下一步】按钮,转向第三个向导对话框,为查询命名。 (4)单击【完成】按钮,执行该汇总查询。结果如图。 4.2.2 使用查询设计器 在 Access 2003 中,查询有三种视图:设计视图、数据表视图和 SQL 视图。使用设计视图,不仅可以创建各种类型的查询,而且可以对已有的查询进行修改。 例如:要打开利用向导创建的“ 学生成绩查询” ,可在数据库窗口中选中该查询,然后单击工具栏中的

43、【设计】按钮,结果如图 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数

44、据库模型数据模型数据模型是现实1、查询设计视图 设计视图的窗口分两部分,上半部分显示查询所使用的表对象,下半部分定义查询设计的表格。 字段:选择查询中要包含的表字段。 表:选择字段的来源表。 排序:定义字段的排序方式。 显示:设置是否在数据表视图中显示所选字段。 条件:设置字段的查询条件。 或:用于设置多条件之间的或条件。 2、查询设计视图的工具栏 3、创建查询 在设计视图中创建查询,首先应单击【显示表】按钮,在打开的【显示表】对话框中选择查询所依据的表、查询,并将其添加到设计视图的窗口中。 如果选择多个表,多个表之间应先建立关联。 例:利用学生、课程和选课成绩表,创建一个不及格学生的成绩查询

45、。 (1)在【显示表】对话框中,把学生、课程和成绩表添加到设计视图的窗口中。 (2)依次拖入或在【字段】行中选择“ 姓名” 、“ 课程名称” 和“ 成绩” 字段。 (3)在【成绩】列中的【条件】行中输入条件“、=、=、。用关系运算符连接的两个表达式构成关系表达式,结果为一个逻辑值 True 或者 False。 连接运算表达式 连接运算符包括&和+。连接运算符具有连接字符串的功能。 逻辑运算表达式 逻辑运算符包括 And、Or、Not。逻辑运算主要用于对真、假进行判断。 And 表示两个操作数都为 True 时,表达式的值才为 True; Or 表示两个操作数只要有一个为 True,表达式的值就

46、为 True ; Not 表示取操作数的相反值。 BetweenAnd :用于指定一个字段值的取值范围指定的范围之间用 And 连接。 In:用于指定一个字段值的列表,列表中的任何一个值都可与查询的字段相匹配。当表达式中包含的值较多时,使用 In 运算符会使表达式更简洁。 Is:指定所在字段中是否包含数据,Is Null 表示查找该字段没有数据的记录,Is Not Null 表示查找该字段有数据的记录。 Like:查找相匹配的文字,用通配符来设定文字的匹配条件。 Access 2003 提供的通配符: ?:代表任意一个字符 *:代表任意多个字符 # :代表任意一个数字位(0-9 ) 【字符表】

47、 :代表在字符表中的单一字符 【!字符表】 :代表不在字符表中的单一字符 可以使用一对方括号为字符串中该位置的字符设置一个范围,如【0-9 】 【a-z】 4.3.2 标准函数 1、求和函数 格式:Sum() 功能:返回字段中值的总和。 说明:“ 字符串表达式” 可以是一个字段名(数值类型) ,或者是含有数值类型字段的表达式。 例如:Sum(单价*数量) 2、求平均函数 格式:Avg() 功能:求数值类型字段的平均值。 说明: (1)“ 字符串表达式” 可以是一个字段名(数值类型) ,或者是含有数值类型字段的表达式。 (2)Avg 不计算任何 Null 值字段。 例如:Avg(成绩) 3、统计

48、记录个数函数 格式:Count() 功能:统计记录个数。 说明: (1)“ 字符串表达式” 可以是一个字段名(数值类型) ,或者是含有数值类型字段的表达式。 (2)当用格式 Count(*)时,将统计所有记录的个数,包括有 Null 值字段的记录。 例如:Count(姓名) 4、最大、最小值函数 格式:Max() Min () 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库

49、之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实功能:返回一组指定字段中的最大、最小值。 说明:“ 字符串表达式” 可以是一个字段名(数字类型) ,或者是含有数字类型字段的表达式。 例如:Max(成绩) Min(成绩) 4.4 查询设计 4.4.1 条件选择查询 4.4.2 交叉表查询 4.4.3 参数查询 4

50、.4.4 操作查询 4.4.5 重复项、不匹配项查询 4.4.1 条件选择查询 例:查询中医系 1998 年 9 月 1 日入学的中医专业的学生,显示学生编号、姓名、性别、入学日期和系别。 操作步骤: 1、在“ 教学管理” 数据库窗口中,单击【查询】对 象,然后双击【在设计视图中创建查询】项,系统打开 如图所示的查询设计视图,同时在此视图上面还出现一 个【显示表】对话框。 2、在【显示表】对话框中,把学生表添加到设计视图上半部分的窗口中。 3、分别双击“ 学生编号” 、“ 姓名” 、“ 性别” 、“ 入校日期” 和“ 系别” 等字段,这时 5 个字段将依次显示在【字段】行上的第 1 列到第 5

51、 列中,同时【表】行将显示出这些字段所在表的名称, 【显示】行复选框均选中,代表查询结果中显示这些字段。但由于查询要求显示的字段没有“ 专业”字段,该字段仅作为查询的一个条件,所以应取消选中“ 专业” 字段【显示】行上的复选框,结果如图 4、在“ 入校日期” 字段列的【条件】行中可以输入以下 等价条件: Date(入学日期)=1998-9-1 或者 #1998-9-1# 在“ 系别” 和“ 专业” 字段列的【条件】行中分别输入条件: “ 中医” 和“ 中医” 。 设计结果如图: 5、单击工具栏中的【保存】按钮,在出现的【另存为】对话框中,命名查询为“ 学生信息查询” ,然后单击【确定】按钮,保

52、存创建的查询。 6、运行查询,查看查询结果。 与(And)条件: 或(Or)条件: 4.4.2 交叉表查询 交叉表查询以行和列的字段作为标题和条件选取数据,并在行和列的交叉处对数据进行汇总、统计计算等。设计交叉表查询,需要指定 3 种字段:一是放在数据表最左端的行标题,它把某一字段或相关的数据放入指定的一行中;二是放在数据表最上边的列标题,它对每一列指定的字段或表进行统计,并将统计结果放在该列中三是放在数据表行与列交叉位置上的字段,需要为该字段指定一个总计项,如 Sum、Avg 和 Count 等。对于交叉表查询,只能指定一个总计类型的字段。 1、使用向导创建交叉表查询 例:建立学生选课成绩交

53、叉表查询 (1)在“ 教学管理” 数据库窗口中,单击【查询】对 象,再单击【新建】按钮,在【新建】查询对话框中选择交叉表查询向导】 ,如图 打开如图所示的【交叉表查询向导】对话框之一,在 【视图】选项组中选择【查询】单选按钮,在上方的 列表框中选择“ 学生成绩查询” 。 (2)单击【下一步】按钮,在向导对话框之二中选择“ 姓名” 字段作为交叉表的行标题 单击【下一步】按钮,选择“ 课程名称” 作为交叉表的列标题,如图 (3) 单击【下一步】按钮,为行和列的交叉点指定一个值。因为要显示学生选课的成绩,在 【字段】列表框中选中“ 成绩” ;在【函数】列表框中选择一个总计函数由于所建交叉表只需显示成

54、绩,不需做其它计算,所以选择“ 第一项” ,并取消选中【是,包括各行小计】复选框,如图 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的

55、发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实(4)单击【下一步】 ,为所创建的交叉表查询指定一个名字“ 交叉表成绩查询” ,单击【完成】按钮。创建交叉表查询的运行结果 2、在设计视图下创建交叉表查询 例:在“ 教学管理” 数据库中,使用“ 学生” 、“ 课程” 和“ 选课成绩” 表创建一个交叉表查询,使其显示每位学生各门课的成绩。 步骤: (1)在“ 教学管理” 数据库窗口中,单击【查询】对 象,然后双击【在设计视图中创建查询】项,系统打开 查询设计视图,同时在此视图上面还出现一 个【显示表】对话框。 (2)在【显示表】对话框中,把“ 学生”

56、、“ 课程” 和“ 成 绩” 表添加到设计视图上半部分的窗口中,然后关闭 【显示表】对话框。 (3)分别双击学生表中的“ 姓名” 字段、课程表中的“ 课 程名称” 字段和选课成绩表中的“ 成绩”字段,依次添加 到【字段】行的第 1 列到第 3 列。 (4)单击工具栏中的【查询类型】按钮,然后从下 拉列表中选择【交叉表】命令。 (5)单击“ 姓名” 列的【交叉表】行单元格,选择其下拉列表中的“ 行标题” 选项,使“ 姓名” 放在每行的左边;单击“ 课程名称” 列的【交叉表】行单元格,选择其下拉列表中的“ 列标题” 选项,使“ 课程名称” 放在第一行上;单击“ 成绩” 列的【交叉表】行单元格,选择

57、其下拉列表中的“ 值”选项,使在行列的交叉处显示成绩数值;单击“ 成绩” 列的【总计】行单元格,选择其下拉列表中的“ 第一条记录” 函数。设计结果如图: (6)保存与运行创建的交叉表查询,结果如图 4.4.3 参数查询 参数查询可以在运行查询的过程中根据参数输入值自动设定查询的准则,用户在执行参数查询时会显示一个输入对话框以提示用户输入信息,这种查询叫做参数查询。当需要对某个字段进行参数查询时,首先切换到这个查询的设计视图,然后在作为参数使用的字段下的“ 条件” 单元格中的方括号内输入相应的提示文本,此查询运行时,Access 2003 将显示该提示。 参数查询是建立在选择查询或交叉表查询的基

58、础之上的,如果希望根据某个或某些字段的不同值来查找记录,就可以使用参数查询。在参数查询中,可以建立单参数查询,也可以建立多参数查询。 例:以学生、课程和成绩表为数据源,查询某班级、某门课程和某分数之上的学生选课情况 假定学生编号的前 4 位为班级号码。 步骤 : (1 )在“ 教学管理” 数据库窗口中,单击 【 查询】 对象,然后双击【 在设计视图中创建 查询】 ,打开查询设计视图,同时显示【 显示 表】 对话框。 (2 )在【 显示表】 对话框中,把“ 学生” 、“ 课 程” 和“ 选课成绩” 表添加到设计视图上半部分的 窗口中,然后关闭【 显示表】 对话框。 (3 )分别双击学生表中的“

59、学生编号” 和“ 姓名” 字段、课程表中的“ 课程名称” 字段和成绩表中 的“ 成绩” 字段,依次添加到【 字段】 行的第 1 列 到第 4 列。 (4)在【字段】行的第 1 列单元格中,把“ 学生编号” 字段名改为“ 班级:left(学生!学生编号,4)” ,在 【条件】行单元格输入“ 输入班级:” 。其含义是:在查询结果中,显示别名“ 班级” ,取每个记录“ 学生编号” 字段值的前 4 位与“ 输入班级” 参数值进 行比较,确定是否是要查询的班级。 (5)单击工具栏中的【视图】按钮,或单击工具栏中的【运行】按钮,系统将依次显示输入班级的 【输入参数值】 对话框, 可以根 据需要输入参数值,

60、 查询需要的班级所选课程的成绩信息。 4.4.4 操作查询 1、生成表查询:用查询结果集中的数据创建新表。从表 中查询数据要比从查询中访问数据快,如果经常需要从多个表中提取数据,最好的办法使用生成表查询,即从多个表中提取数据组合起来生成一个新表永久保存。 2、删除查询:用于从表中删除与查询结果集中的行相对应的记录。 3、追加查询:把查询结果添加到另一个表,但要注意两者之间的格式与类型要相同。 4、更新查询:根据查询结果集中的行改变表中现有记录的相应字段的值。 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据

61、库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实1、创建生成表查询 例:将学生选课成绩在 90 分以上的学生信息保存到一个新表中。 步骤: (1)打开查询设计器,将“ 学生” 、

62、“ 课程” 、“ 选课成绩” 表添加到窗口中。 (2)单击【查询类型】按钮或选择【查询】|【生成表 查询】命令,打开如图所示的【生成表】对话框。 在对话框中输入新表名称,并选择保存位置。 (3)在查询设计视图中设置所需的各个选项,与选 择查询设计相同,结果如图 (4)保存所做的设置,单击【运行】按钮,系统会 弹出【创建新表】对话框,通过选择“ 是/否” 向新表 粘贴记录,确定是否创建新表。 2、创建删除查询 删除查询可以从表中删除符合条件的记录,且所做的删除操作无法撤销。删除查询可以从单个表中删除记录,也可以从多个相互关联的表中删除记录。如果要从多个表中删除相关记录,多个表之间必须满足以下条件

63、:在【关系】窗口定义相关表之间的关系,在【关系】窗口中选中【实施参照完整性】复选框与【级联删除相关记录】复选框。 例:将学生选课成绩在 60 分以下的记录删除。 步骤: (1)打开查询设计视图,将“ 选课成绩” 表添加到窗口中。 (2)单击【查询类型】按钮,从下拉菜单中选择【删除查询】命令。 (3)单击“ 选课成绩” 字段列表中的“*”号,并将其拖到【字段】行的第 1 列上,第 1 列将显 示“ 选课成绩.*” ,同时,在该字段【删除】单元格中显示 From,表示从何处删除记录。 (4)将“ 选课成绩” 字段拖到【字段】行的第 2 列上,同时,在该字段【删除】单元格中显示Where,表示要删除

64、哪些记录。在该字段的【条件】单元格中输入条件:60。结果如图 (5)单击工具栏中的【视图】按钮,可以先预览要删除的记录, 若不是要删除的记录,可以返回查询设计视图修改查询条件;若是要删除的记录,可以单击 工具栏中的【运行】按钮,这时系统打开【确认删除】对话框,单击【是】按钮,将从成绩表中永久删除查询到的记录。 3、创建追加查询 生成表查询用查询选择的字段创建新表结构,然后写入查询记录。而追加查询是对原数据库表进行追加记录的操作,它提供了一个不用到表中就可以增加记录的方法。 例: 利用追加查询将选课成绩在 8090 分之间的学生追加到已建立的“90 分以上学生情况” 表中。 步骤: (1)打开查

65、询设计视图,将“ 学生” 表和“ 选课成绩” 表添加到窗口中。 (2)单击【查询类型】按钮,从下拉菜单中选择【追加查询】命令,弹出如图所示【追加】对话框。在【表名称】下拉列表框中输入要追加记录的表:90 分以上学生情况,单击【确定】按钮,这时查询设计视图中就添加了一个【追加到】行。 (3)设置需要追加到目标表的各个选项,在【追加到】一栏中选择目标表对应的字段,结果如图: (4)单击【视图】按钮,可以查看要追加的记录。确认无误后,单击【运行】按钮,系统会弹出追加记录提示框,单击【是】按钮,将选择记录追加到目标表中。 4、创建更新查询 更新查询可以改变表中记录的数据值。当需要用相同表达式更新许多记

66、录的字段值时,这种 查询是很有用的。要更新的记录就是查询中通过设置条件所查询到的记录。 例:在选课成绩表中,把所有选课成绩不及格的“ 成绩” 字段值置为 0。 步骤: (1 )打开查询设计视图,将“ 选课成绩” 表添加到窗口中。 (2 )单击【 查询类型】 按钮,从下拉菜单中选 择【 更新查询】 命令,这时查询设计视图中添 加了一个【 更新到】 行。 (3)单击“ 选课成绩” 字段列表中的“ 成绩” 字段,并将其拖到【字段】行的第 1 列上,在【更新到】一行输入数值:0,在【条件】行输入更新条件:60。如图 (4)单击【视图】按钮,可以查看要更新的 记录。确认无误后,单击执行查询按钮,系统会弹

67、出更新提示框,单击【是】按钮,将完成对成绩表中选课成绩不及格记录的“ 成绩” 字段更新。 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库

68、的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实4.4.5 重复项、不匹配项查询 1、创建查找重复项查询 在数据表中,除设置为主键的字段不能重复外其他字段允许有重复值。 例:查找成绩表中每门课被学生选修的情况。利用向导创建查找重复项查询 (1)在新建查询对话框中,选择【查找重复项 查询向导】在向导对话框中选择所基于的表或查询 (2)选取设为重复值的字段,系统会按照选 取的字段自动对数据表中的记录进行检索。 (3)选择另外查询的字段(4)为查询指定一个名字,单击【完成】按钮 2、建立不匹配查询 不匹配查询就是在一个表中搜索另一个表中没有相关记录的记

69、录行。 例:查找课程表中没有被学生选修的课程有哪些。利用向导创建查找不匹配项查询 (1)在新建查询对话框中,选择【查找不匹配项查询向导】在向导对话框中选择所基于的表或查询 (2)选择不包含匹配记录的表(3)选择在两个表中的匹配字段 (4)为查询指定一个名字后,单击【完成】按钮 4.5 SQL 查询 SQL 包括数据定义、数据查询、数据操纵和数据控制 4 个部分,是一种功能齐全的数据库语 言。SQL 有两种使用方法:一种是以与用户交互的方式联机使用,另一种是作为子语言嵌入到其他程序设计语言中使用。 4.5.1 SQL 的数据定义 SQL 的数据定义功能是指定义数据库的结构, 包括定义基本表、 定

70、义视图和定义索引 3 个部分。由于视图是基于基本表的虚表,索引是依附于基本表的,因此 SQL 通常不提供修改视图定义和修改索引定义的操作。如果想修改视图定义和修改索引定义,只能先将它们删除,然后再重建。 SQL 的数据定义语句 1、定义基本表 命令:CREATE TABLE 格式: CREATE TABLE ( 列级完整性约束条件 列级完整性约束条件 ) 2、修改基本表 命令:ALTER TABLE 格式: ALTER TABLE ADD 完整性约束条件 DROP MODIFY 3、删除基本表 命令:DROP TABLE 格式: DROP TABLE 4.5.2 SQL 的数据操纵 数据操纵是

71、指对表中的数据进行查询、插入、删除和更新等操作。 1、SQL 查询 SELECT 查询是数据库的核心操作。其命令格式为: SELECT ALL|DISTNCT , FROM WHERE GROUP BY HAVING 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管

72、理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实ORDER BY ASC|DESC SELECT 语句的含义:从指定的表或视图中找出符合条件的记录,按目标列表达式的设定, 选出记录中的字段值形成查询结果。 :要查询的数据,一般是列名或表达式。 FROM 子句:数据来源,即从哪些表或视图中查询。 WHERE 子句:查询条件,即选择满足条件的记录。 GROUP BY 子句:对查询结果进行分组。 HAVING 子句:限定分组的

73、条件,必须在 GROUP BY 子句后用。 ORDER BY 子句:对查询结果进行排序,ASC 表示升序 DESC 表示降序。 2、插入操作 INSERT 语句可以向基本表中插入数据。 (1)插入单个元组 语句格式:INSERT INTO (,) VALUES(, ) 功能:将新元组插入指定表中,其中新元组属性 1 的值为常量 1 属性 2 的值为常量 2,依此类推。 (2)插入子查询结果 语句格式:INSERT INTO (,) 功能:批量插入,一次将子查询的结果全部插入指定表中。 (3)删除记录 语句格式:DELETE FROM WHERE 功能:从表中删除一个或多个元组。 (4)更新操作

74、 语句格式: UPDATE SET =, =, WHERE 功能:修改指定表中满足条件的元组,用表达式 1 的值替代属性名 1 的值,用表达式 2 的值替代属性名 2 的值,依此类推。 4.5.3 SQL 视图 例:将已建立的“ 学生信息查询” 中的“ 中医专业或者 2009 年入学的学生” 的条件改为“ 中西医专 业或者 2010 年入学的学生” 。 步骤: (1 )在设计视图中打开已建立的查询 (2)选择【视图】|【SQL 视图】命令,或单击工具栏中的【视图】按钮,从下拉列表中选择 【SQL 视图】 ,打开如图所示 SQL 视图窗口。 (3)在 SQL 视图窗口中,可以直接修改 WHERE

75、 子句后面的条件 (4)单击工具栏中的【视图】按钮,可以预 览查询的结果。 单击【保存】按钮,可以保存通过 SQL 视图对查询所做的修改。 第 5 章 窗体 5.1 窗体基础知识 5.2 创建窗体 5.3 自定义窗体 5.4 窗体与控件的其他应用设计 5.5 窗体外观格式设计 5.1 窗体基础知识 5.1.1 窗体的概念和作用 窗体是操作应用系统的界面,靠菜单或按钮提示用户进行业务流程操作,不论数据处理系统 的业务性质如何不同,必定有一个主窗体,提供系统的各种功能,用户通过选择不同操作进 入下一步操作的界面,完成操作后返回主窗体。 窗体的作用: (1)显示与编辑数据。 可以通过窗体录入、修改、

76、删除数据表中的数据。 (2)使用窗体查询或统计数据库中的数据。 可以通过窗体输入数据查询或统计条件,查询或 统计数据库中的数据。 (3)显示提示信息。 用于显示提示、说明、错误、警告等信息,帮助用户进行操作。 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用

77、户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实5.1.2 窗体构成 窗体页眉 页面页眉 主体 页面页脚 窗体页脚 5.1.3 窗体类型 5.1.4 窗体视图 设计视图 窗体视图 数据表视图 数据透视表视图 数据透视图识图 5.2 创建窗体 5.2.1 自动创建窗体 如果只需要创建一个简单的数据维护窗体,显示选定表或查询中所有字段及记录,可使用自 动创建窗体向导。 自动创建窗体有纵栏式、表格式、数据表 3 种格式 (1)在数据库

78、窗口中,选择【窗体】对象。 (2)单击工具栏中的【新建】按钮。 (3)在【新建窗体】对话框中,选择下列向导之一 【自动创建窗体:纵栏式】 ,每个字段都显示在一个独立的行上,并且左边带有一个标签(标题为对应字段名 【自动创建窗体:表格式】 ,每条记录的所有字段显示在一行上,标签显示在窗体的顶端。 【自动创建窗体:数据表】 ,每条记录的字段以行和列 的格式显示,即每条记录显示为一行,每个字段显示为一列。字段的名称显示在每一列的顶端。 (4)窗体数据源选择,在【请选择该对象数据 的来源表或查询: 】下拉列表框中选择作为窗 体数据来源的表或查询。 (5)单击【确定】按钮,保存窗体,结束窗体的创建。 5

79、.2.2 窗体向导 1、使用向导创建基于一个表或查询的窗体 (1)在【新建窗体】对话框中,双击【窗体向导】选项,进入【窗体向导】对话框。 (2)在【表/查询】下拉列表框中选择作为窗 体数据源的表或查询。 (3)在【可用字段】列表框中选择需要在新 建窗体中显示的字段。 (4)单击【下一步】 ,选择窗体布局格式。 (5)单击【下一步】 ,选择窗体所采用的样式 (6)单击【下一步】 ,为窗体指定标题。 (7)单击【确定】按钮,保存窗体,结束创建。 2、创建基于多个表的窗体 基于多表的窗体一般称为多表窗体, 从多个表或查询中提取数据。 常用的方法是建立主/子窗体,但在创建窗体之前要确保作为主窗体的数据

80、源与作为子窗体的数据源之间建立了一对多的关系。二是将已有的窗体作为子窗体添加到另一个已有窗体中。 例:在“ 教学管理” 数据库中,以“ 学生” 表和“ 成绩” 表作为数据源,创建窗体。 步骤 : (1 )在【 新建窗体】 对话框中单击【 窗 体向导】 ,然后单击【 确定】 ,或者双击【 窗体 向导】 进入对话框。 (2)在【表|查询】下拉列表中选择【表:学生】 ,在【可用字段】列表框中选择要显示的字段。在【表|查询】下拉列表中选择【表:选课成绩】 ,在【可用字段】列表框中选择要显示的字段。 。单击【下一步】 。 (3)由于数据来源于两个表,有两个选项:通过“ 学生” 表或“ 成绩” 表查看。由

81、于“ 学生” 表和“ 成绩” 表之间具有一对多关系,“ 学生” 表位于一对多关系中的“ 一” 方,所以应选择“ 学生” 表。 选择【带有子窗体的窗体】单选按钮。单击【下一步】 (4)确定窗体所采用的布局。选中【数据表】单选按钮,单击【下一步】 (5)确定窗体所采用的样式。选中【标准】 ,单击【下一步】按钮。 (6)确定主|子窗体的标题。在【窗体】文本框中输入主窗体标题“ 学生成绩主窗体” , 【子窗体】文本框中输入子窗体标题“ 选课成绩子窗体” 。 (7)单击【完成】按钮。 5.2.3 图表向导 例:在“ 教学管理” 数据库中,以“ 教师” 表为数据源,使用图表向导创建窗体,统计并显示各系 据

82、库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是

83、现实不同职称的人数。 步骤: (1)在【新建窗体】对话框中选择【图表向导】选项,选择“ 教师” 表为数据源。 (2)单击【确定】按钮,启动【图表向导】 对话框。 (3)在【可用字段】列表框中选择“ 系别” 、 “ 职称” 和“ 教师编号” 字段,单击 按钮添加到“ 用于图表的字段” 列表中,单击【下一步】 。 (4)在图中选择【三维柱形图】 ,单击【下一步】按钮。 (5)在图中,选择“ 系别” 为横坐标,“ 数据” 为纵坐标,单击【下一步】按钮。 在对话框中【请指定图标的标题】文本框最后输入图表名称“ 统计各系不同职称教师的人数” 单击【完成】按钮。 5.2.4 自动窗体:数据透视表 数据透视

84、表窗体是一种交互式的表,可以进行选定的计算,例如求和和计数。数据透视表也可以将字段值作为行号或列标,在每个行列交汇处计算出各自的数量,然后计算小计和总计。 例:创建计算各系不同职称教师人数的数据透视表窗体基本思想:将“ 职称” 作为列标题放在数据透视表的顶端,“ 系别” 作为行标题放在数据透视表的左列,在行列的交叉处显示计算出来的相应教师人数。 步骤: (1)在【新建窗体】对话框中,选择【自动窗体:数据透视表】 ,并在【请选择该对象数据的来源表或查询】下拉列表中选择“ 教师” 表,单击【确定】按钮。 (2)打开数据透视表设计窗口。 (3)将【数据透视表字段列表】中的“ 系别” 字段拖至行 字段

85、区域,将“ 职称” 字段拖至列字段区域,选中“ 教师编号” 字段,在右下角的下拉列表框中选择【数据区域】项,单击【添加到】按钮。 可以见到在字段列表中新生成一个“ 汇总” 字段,该字段的值是选中的“ 教师编号” 字段的计数,同时在数据区域 产生了在“ 系别” 和“ 职称” 分组下有关“ 教师编号” 的计数,也就是各系不同职称的人数。 5.2.5 自动窗体:数据透视图 数据透视图是一种交互式的图表,功能与数据透视表类似,只不过以图形化的形式来表现数 据。数据透视图能较为直观地反应数据之间的关系。 例:以“ 教师” 表为数据源,创建计算各系不同职称人数的数据透视图窗体。 步骤: (1)在【新建窗体

86、】对话框中,选择【自动窗体:数据透视图】 ,选择“ 教师” 表为数据源。 (2)单击【确定】按钮,打开数据透视图设计窗口 (3)将【图表字段列表】中的“ 系别” 字段拖至分类字段 区域,将“ 职称” 字段拖至系列字段区域,选中“ 教师编号” 字段,在右下角的下拉列表框中选择【数据区域】项, 单击【添加到】按钮。 生成如图所示的数据透视图。 5.3 自定义窗体 5.3.1 窗体设计视图的组成与主要功能 1、窗体设计工具栏 2、格式工具栏 3、窗体弹出式菜单 4、控件工具箱 (1)打开与关闭工具箱【视图】|【工具箱】命令或者单击窗体设计工具栏 中的【工具箱】按钮,可以打开或关闭【工具箱】 。 (2

87、)工具箱的移动与锁定要锁定某个某个控件对象,双击要锁定的对象即可;要解除锁定,按ESC 即可。 (3)使用工具箱向窗体中添加控件 5.3.2 属性、事件与方法 1、属性 (1)属性的概念(2)属性的设置方法(3)属性的分类 2、事件(1)事件的概念(2)事件的设置方法 3、方法 方法的概念 5.3.3 窗体与对象的属性及设置方法 1、窗体的主要属性 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在

88、计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实2、控件属性(1)标签控件(2)文本框控件(3)组合框控件(4)列表框控件 (5)命令按钮控件 3、设置窗体属性(用属性表设置) (1)在窗体设计视图中,单击窗体左上角的【窗体 选定器】来选择一个窗体。 (2)右击,然后选择快捷菜单中的【属性

89、】命令, 或单击工具栏中的【属性】按钮,显示【属性表】 (3)单击需要设置其值的属性,然后执行以下操作 之一: 在属性对话框中,输入适当的设置或表达式。 如果属性对话框包含箭头,单击该箭头,打开下拉列 表,然后单击列表中的值。 如果【生成器】按钮显示在属性框的右边,单击该按钮以显示生成器或显示能够选择生成器的对话框。 4、在窗体中添加当前日期和时间 5、使用属性表设置控件属性 6、在 VBE 中设置窗体和控件属性 5.3.4 窗体和对象的事件 1、窗口事件 窗口事件是指操作窗口时引发的事件,正确理解此 类事件发生的先后顺序,对控制窗体和报表的行为 非常重要。 2、数据事件 数据事件指与操作数据

90、有关的事件,又称操作事件 当窗体或控件的数据被输入、修改或删除时将发生数据事件。 3、焦点事件 鼠标或键盘操作的当前状态,当窗体、控件失去或 获得焦点时,或窗体、报表成为激活或失去激活状态时,将发生焦点事件。 4、键盘事件 键盘事件是操作键盘引发的事件。 5、鼠标事件 鼠标事件是用户操作鼠标引发的事件。鼠标事件 应用较多 ,特别是“ 单击” 事件,命令按钮的功能处理大多用鼠标事件来完成。 6、打印事件 在打印报表或设置打印格式时发生打印事件。 7、Timer 和 Error 事件 5.3.5 常用控件的创建方法 1、命令按钮(1)利用向导 (2)手工创建命令按钮 手工创建命令按钮,通过事件代码

91、处理,可使命令 按钮具有更强的功能、更多的灵活性。 其方法是:首先将命令按钮放置在窗体中,然后通 过命令按钮的属性设置及事件代码编写,来达到用户特定的目的。 2、列表框和组合框 3、创建选项卡控件 4、创建图像控件 5、创建选项组控件 6、添加 ActiveX 控件 7、删除控件 5.4 窗体与控件的其他应用设计 5.4.1 创建计算控件 1、表达式生成器 在窗体设计视图中,打开【属性设置】对话框单击表达式生成器按钮“”,打开【选择生成 器】对话框。在【选择生成器】对话框中,选中【表达式生成器】项,单击【确定】按钮,系统进入【表达式生成器】对话框。 2、创建计算控件 例:在“ 学生信息管理”

92、窗体设计中,不显示学生的出生年月,要显示年龄可以通过添加计算控据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系

93、数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实件实现。 (1)进入“ 学生信息管理” 窗体设计视图,添加一个文本框控件,命名其标签标题为“ 年龄” 。 (2)打开文本框控件的属性设置对话框,设置其控件 来源属性。 可以使用表达式生成器来创建表达式,也可以利用组合 表达式元素来创建表达式。 使用表达式生成器 在“ 学生信息管理” 窗体中,右击【年龄】文本框,打 开属性设置对话框;单击【控件来源】文本框右侧的【表达式生成器】按钮,进入【表达式生成器】对话框 (3)使用“ 函数” 和“ 表” 文件夹选项,选择生成表达式元素,如图单击【确定】按钮,即完成“ 年龄” 计算控件的创建

94、。 使用手动方式创建 假如对函数及表达式的语法比较熟悉,可以使用手动方法创建计算表达式。在“ 学生信息管理”窗体中,右击“ 年龄” 文本框,打开属性设置对话框;在其【控件来源】文本框中直接输入表达式“=Year (Date() )-Year(出生日期)” 。 5.4.2 查找记录 5.4.3 显示提示信息 5.4.4 创建与使用主|子窗体 5.4.5 打印与预览窗体 5.5 窗体外观格式设置 5.5.1 加线条 5.5.2 加矩形 5.5.3 设置控件格式属性 5.5.4 使用 Tab 键设置控件次序 第六章报表 本章概要 6.1 报表的作用与组成 报表就是将表格、查询中的数据按照指定格式要求

95、打印输出。 报表主要功能:数据的格式化、分类汇总数据创建子报表和图表数据报表组成 报表页眉、报表页脚 页面页眉、页面页脚 组页眉、组页脚 主体 在 Access 中演示各部分 报表视图 报表视图有三种 设计视图 该视图最重要,是需要重点掌握 版面预览 打印预览 演示三种视图 6.2 报表的分类 纵栏式报表 表格式报表 图表报表 标签报表 不同类型的报表只是展示数据的形式上区别,本质上都是显示数据。演示不同形式的报表。注意使用同一个数据源!看清内容与形式的关系! 6.3 创建报表(本章重点) 创建方法:报表向导,通过向导方式设置。该方法简便但缺乏灵活性。 自动创建,比向导还简单,但局限性更大。

96、手工创建报表。该方法相对困难,但功能强大。这部分是重点和难点。 子报表。子报表与子窗体很类似。 6.4 报表编辑 该部分主要讲解手动创建、修改、设计报表,以及报表版面设计、数据计算。该节是本章重点和难点。报表控件以及格式设置 认识报表控件,最常用的是标签、文本框、分割线、子报表等 例题 6.1 建立” 学生基本信息报表“ 该报表可以通过向导或者手工方法创建。练习使用报表工具。 如果使用手工创建,关键是选择数据源。 演示该例题! 例题 6.2 添加页码和日期 该例题主要涉及页脚部分的操作。如果使用手工方法创建,用到了=date()和=time() 两个函数。 添加直线、设置字体、颜色等修饰演示上

97、述操作。排序、分组 打印数据的时候可以按照某种规则排序或者分组。这个很类似于 excel 中的分类汇总。 单纯排序:可以选择某列进行升序或者降序排列。 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和

98、控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实分组:按照某字段分类,相同类别内容将集中显示。 例题 6.5 设计分组报表,输出学生选课成绩信息。在此例题中讲解排序和分组对话框,以及页眉页脚的使用。 报表中的计算 报表中的数据直接来源于表或者查询,但是有时候我们需要的数据在表中没有直接给出,就必须经过计算得到。 例题 6.6 根据教师信息表中” 工作时间“ 计算工龄 分析:所需信息为” 工龄“ ,但是表中没有直接给出,必须通过计算。已知当前年份和工作时间,两年份相减就是” 工龄“=ye

99、ar(date() -year(工作时间) 例题 6.7 所需信息” 成绩是否通过“ ,但是表中没有直接给出,也需要判断计算得到结果。 6.5 复杂报表 以上介绍的都是报表的常规使用。报表中的每一个控件、每一部分都还有各自的属性可以设置,进而制作更加复杂和实用的报表。 报表属性 节属性 报表添加分隔页 预定义格式美化报表 制作图表报表 6.6 打印报表 报表最终就是要将数据落到纸面上,打印是报表的最后一个环节。 打印之前可以预览效果,经过修改预览之后,最终打印。小结 在二级考试中,该节有比较重要的地位,尤其是操作题部分,很多涉及到报表设计、分组、计算等操作。 报表也是数据展示的一种形式,该章节

100、有自己独特的地方,但是很多知识与窗体类似,大家在学习的时候可以相互比较学习。 后续的” 页“ 将是对报表的巩固,因为” 页“ 也是展示数据的形式,很多操作与报表类似。 报表、窗体、页这三种对象都是表、查询的外在表现。 第七章数据访问页 概述 学会使用页向导 自动创建页 页设计视图以及控件使用 包含图表的数据访问页 7.1 数据访问页的基本概念 数据访问页实际就是一种 WEB 页,也是将表中的数据展现给用户。 页的几种视图:页视图 设计视图(重点) 网页预览(在浏览器中) 7.2 创建数据访问页 创建数据访问页的方法与窗体、报表类似。 自动创建数据访问页该方法快,但是只能使用纵栏式。 例题 7.

101、1 自动创建学生基本信息的页 向导方法创建页 例题 7.2 使用向导创建学生基本信息的页 使用设计视图创建页 注意控件属性都是英文。 7.3 编辑数据访问页 添加标签 添加命令按钮 添加滚动文字 设置背景 第八章 宏 八 宏是一些操作的集合。通过本章的学习,应该掌握 宏的概念与用途 序列宏、条件宏和宏组的创建 ACCESS2003 中常用的宏操作 宏调用 8.1 宏的功能 宏是指一个或者多个操作的集合,没个操作都实现特定的功能。这些操作的实质是代码。 设置宏操作 宏设计器中可以使用系统提供的宏命令,配合相应的参数,可以完成很多实用的操作。常用宏命令参看表 8.1 8.2 创建、调试、运行宏 创

102、建宏,在宏设计器中选择所需要的功能,并且设置相应参数。 创建宏组,宏组中包含多个宏命令,为了便于管理多个宏。操作方法与创建单个宏类似。 创建条件宏,上述两种宏都是顺序执行。条件宏可以根据特定条件而有选择性的执行某些宏命据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管

103、理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实令。 调试宏 运行宏 8.3 通过事件触发宏 事件是在数据库中执行的一种特殊操作,是对象所能辨识和检测的动作,当此动作发生于某一个对象上时,其对应的时间便会被触发。 通过事件触发宏 例题 8.2 建立一个窗体,添加两个命令按钮,分别触发两个不同的宏。 第九章 模块与 VBA 编程基础 概述 本章要涉及到编程。了解编程基础知识,掌握程序的三种结构在 VBA 中的实现,能够读懂

104、程序并写(填)出程序片段 模块基本概念 创建模块 VBA 设计基础 VBA 流程控制 过程调用和参数传递 程序错误处理和调试 9.1 模块基本概念 模块就是一些程序的集合,完成特定的功能。 模块分类:类模块(与 Access 内置对象关联,如窗体、报表) 标准模块 9.2 创建模块 模块以过程为单元组成,一个模块包含一个声明区域和若干个过程 Sub、函数 Function。 过程创建一般格式 public|privatestatic 过程名(形参表) 语句 Exit sub End sub 调用过程 Call 过程名(参数表) Function 函数 public|privatestatic

105、函数名(形参表) 语句 End Function 例题 9.1 编写一个求圆面积的函数 Area()对于该例题中出现的语句只要大体了解即可。 9.3 VBA 编程基础 VBA 是一种计算机语言。对象在 Access 中指表、查询、窗体、报表、页、宏、模块、DoCmd等 认识 VBE 窗口 例题 9.2 新建窗体,放置一个按钮,该按钮的单击事件响应某过程。 VBA 语句书写原则 一行一句,如果特别长可以用_(下划线)隔开如果节省空间,可以用: (冒号)将多条语句写在同行 VBE 可以自动识别语法错误,有颜色提示。 注释,给程序员看,对机器无用 (单引号后面就是注释内容)rem 后面是注释内容 数

106、据类型 Access 中提供了若干数据类型,如下: 整数 Integer 长整数 Long 单精度数 Single 双精度数 Double 货币 Currency 字符串 String 布尔型 Boolean 日期型 Date 变体类型 Variant 用户自定义类型 数据库对象 Datebase Connection Form Report Control QueryDef TableDef Command RecorderSet 常量、变量、数组 常量:不能改变的量。 直接常量 符号常量 Const 定义的常量 内部常量,Access 定义的常量 系统常量,True、False、Null、

107、Yes、No、On、Off 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新

108、的数据库模型数据模型数据模型是现实变量 变量,可以改变的量。 变量命名 包含字母、数字、下划线、汉字,且不以数字、下划线开头,不区分大小写,不能与系统关键字冲突。 声明变量:在 VBA 中可以隐式声明 显式声明,Dim 变量作用域 局部变量、模块变量、全局变量 数据库对象变量的引用方法 窗体名称!控件名称.属性名称 注意叹号和点号的使用 Function SafeSqr(num) Val_Temp=Abs(num) SafeSqr=Sqr(Val_Tem) End Function 例如: intX1%=1243 定义 intX1 为一个整型变量 DouX2#=45665.456 定义 dou

109、X2 为一个双精度变量 StrX3$=Access 定义 strX3 为一个字符串变量 声明变量的一般方法是用 Dim.AsDataType 结构,其中 As 指定变量数据类型。 Dim 语句使用格式为:Dim 变量名 As 数据类型 如果不使用“ 数据类型” 可选项, 默认定义的变量为 Variant 数据类型。 可以使用 Dim 语句在一行中声明多个变量。 例如: Dim strX As String 定义了 1 个字符型变量 strX Dim intX As Integer,strZ As String 定义了 1 个整型变量 intX 和 1 个字符型变量 strZ Dim x 定义了

110、 1 个变体(Variant)类型变量 x Dim I,j,k As integer 只有 k 是 integer 型,I 与 j 都是 Variant 型 数组 数组是相同类型变量的集合 定义数组 Dim 数组名(下界 to 上界) AS 类型 默认下界为 0 零 数组引用 通过数组明(下标)方法引用 二维数组 Dim 数组名(a to b,m to n) AS 类型 列举一些关于数组定义、引用的例子 单独考数组很少,一般与循环部分结合! 数组变量由变量名和数组下标组成,在 VBA 中不允许隐式说明数组,可用 Dim 语句来声明数组。数组声明方式为: Dim 数组名(下标下界 to 下标上界

111、) As 数据类型 下标下界的缺省值为 0,数组元素为:数组名(0)至数组名(下标上界);如果设置下标下界非 0,要使用 to 选项。 在使用数组时, 可以在模块的通用声明部分使用 Option Base 来指定数组的默认下标下界是 0 或l: Option Base 1 设置数组的默认下标下界为 l Option Base 0 语句的默认形式 数组有两种类型:固定大小的数组和动态数组。前者总保持同样的大小,而后者在程序中可根据需要动态地改变数组的大小。 (1)固定大小的数组 例如: Dim IntArray(l0) As Integer 这条语句声明了一个有 11 个整型数组元素的数组,数组

112、元素从 IntArray(0) 至 IntArray(l0) ,每个数组元素为一个整型变量,这里指定数组元素下标上界来定义数组。 VBA 中允许指定数组下标范围时使用 To,如下例所示: 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度

113、数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实Dim IntArray(-2 to 3) As Integer 该语句定义一个有 6 个整型数组元素的数组,数组元素下标从-2到 3。 如果要定义多维数组,声明方式为: Dim 数组名(数组第 1 维下标上界,数组第 2 维下标上界) As 数据类型 例如: Dim IntArray(3,5) As Integer 语句定义了一个二维数组,第一维有 4 个元素,第二维有 6 个元素。 类似的声明也可以

114、用在二维以上的数组中。 例如: Dim MultArray(3,1 to 5,0 to 5) As Long 语句定义了一个三维数组,第一维有 4 个元素,第二维有 5 个元素,第三维有 6 个元素,其中数组元素的总数为三个维数的乘积:456=120。 (2)动态数组 在 VBA 中,还允许用户定义动态数组。很多情况下,不能明确知道数组中应该有多少元素,可使用动态数组。动态数组中元素的个数是不定的,在程序运行中可以改变其大小。 动态数组的定义方法是:先使用 Dim 来声明数组,但不指定数组元素的个数,而在以后使用时再用 ReDim 来指定数组元素个数,称为数组重定义。在对数组重定义时,可以使用

115、 ReDim 后加保留字 Preserve 来保留以前的值,否则使用 ReDim 后,数组元素的值会被重新初始化为默认值。 【例 9.4】定义动态数组 IntArray,设默认下界为 1,并用循环赋值。 Dim IntArray() As Integer 声明动态数组 ReDim IntArray(5) 数组重定义,分配 5 个元素 For I = 1 To 5 使用循环给数组元素赋值 IntArray(I) = I Next I Rem 数组重定义,调整数组的大小,并抹去其中元素的值。 ReDim IntArray(10) 重新设置为 10 个元素,IntArray(1) 至 IntArra

116、y(5) 的值不保留 For I = 11 To 20 使用循环给数组元素重新赋值 IntArray(I) = I Next I Rem 数组重定义,调整数组的大小,使用保留字 Preserve 来保留以前的值。 ReDim Preserve IntArray(15) 重新设置为 15 个元素,IntArray(1) 至 IntArray(10) 的值保留 For I = 11 To 15 使用循环给未赋值数组元素赋值 IntArray(I) = I Next I Redim 语句只能出现在过程中,可以改变数组的大小和上下界,但不能改变数组的维数。 执行不带 Preserve 关键字的 Red

117、im 语句时,数组中存储的数据会全部丢失。VBA 将重新设置其中元素的值。对于 Variant 变量类型的数组,设为 Empty;对于 Numeric 类型的数组,设为 0;对于 String 类型的数组则设为空字符串;对象数组则设为 Nothing。 使用 Preserve 关键字,可以改变数组中最后一维的边界,但不能改变这一维中的数据。 例如: Redim IntArray(10,10,10) Redim Preserve IntArray(10,10,15) 也就是说,在使用 Preserve 关键字时,只能通过改变数组的上界来重新设置数组的大小,改变数组的下界将会导致一个错误。如果改变

118、后的数组比原来小,那么多出来的数据将会丢失。 (3)数组的使用 数组声明后,数组中的每个元素都可以当作单个的变量来使用,其使用方法同相同类型的普通变量。数组元素的引用格式为:数组名(下标值)。 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存

119、取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实其中:如果该数组为一维数组,则下标值为一个范围为数组下标下界,数组下标上界的整数;如果该数组为多维数组, 则下标值为多个(不大于数组维数)用逗号分开的整数序列, 每个整数(范围为数组该维下标下界,数组该维下标上界)表示对应的下标值。 例如,可以如下引用前面定义的数组,设默认下界为 1。 IntArray(2) 引用一维数组 IntArray 的第 2 个元素。 IntArray(2,2) 引用二维

120、数组 IntArray 的第 2 行第 2 个元素。 【例 9.5】若要存储一年中每天的支出,可以声明一个具有 365 个元素的数组变量,而不是 365个变量,数组中的每一个元素都包含一个值。下列的语句声明数组 CurArray 具有 365 个元素,设默认下界为 1。 Dim CurArray (1 to 365) As Currency 声明一个具有 365 个元素的一维数组 Dim intI As Integer For intI=1 to 365 CurArray(intI) = 10 每个数组元素都赋予一个初始值 10 Next 运算符、表达式 运算符 算术运算符+ - * / mo

121、d 字符串运算符+ &,推荐使用& 关系运算符= = like is between.and 逻辑运算符 and or not 对象运算符! . 【例9.6】算术运算符应用示例。 28 计算 2 的 8 次方 2(1/2) 或 20.5 计算 2 的平方根 7/2 标准除法,结果为 3.5 72 整数除法,结果为 3 10 Mod 4 取模运算,结果为 2 10 Mod 2 结果为 0 10 Mod -4 结果为 2 -10 Mod -4 结果为-2 -8.8 Mod 5 结果为-4 20 True 结果为 21,逻辑量 True 转化为数值-1 20 + False +6 结果为 26,逻辑

122、量 False 转化为数值 0 【例 9.7】“&”运算符应用示例。 Strx =ABC Strx&是大写英文字母 出错 Strx & 是大写英文字母 结果为“ ABC 是大写英文字母” Access & 数据库教程 结果为“ Access 数据库教程” abcd & 1234 结果为“abcd1234” abcd & 1234 结果为“abcd1234” 4321 & 1234 结果为“43211234” 4321 & 1234 结果为“43211234” 2+3 & = & (2+3) 结果为“2+3=5” 【例 9.8】“+”运算符应用示例。 4321+1234 结果为 5555 432

123、1+1234 结果为“43211234” abcd+1234 出错 4321+1234 & 100 结果为“5555100” 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口

124、高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实【例 9.9】Is 关系运算符应用示例。 Dim s1,s2 As Control Set s1=Me!text1 Set s2=Me!text1 strx=s1 Is s2 strx 值为“True” 【例 9.10】关系运算符应用示例。 Dim S 定义变量 S S=(52) 结果为 True S=(2=5) 结果为 False S=(abcdabc) 结果为 True S=(王力刘力) 结果为 True S=(#2005/10/10#2004/10/12#)

125、 结果为 True 【例 9.11】逻辑运算符应用示例。 Dim S 定义变量 S S=(52 And 3=4) 结果为 False S=(52 Or 3=4) 结果为 True S=(abcdabc And 3=4) 结果为 False S=Not(3=4) 结果为 True S=(52 Xor 3=4) 结果为 True S=(52 Xor 4=3) 结果为 False S=(25 Eqv 3=4) 结果为 True S=(52 Eqv 3=4) 结果为 False S=(52 Imp 3=4) 结果为 False S=(52 Imp 4=3) 结果为 True 表达式 表达式就是由常量、

126、变量、运算符构成的字符串,表达式具有特定的唯一值。 表达式运算优先级参看表 9.9 P222 (1)表达式的组成 表达式由字面值、常量、变量、运算符、函数、标识符、逻辑量和括号等按一定的规则组成,表达式通过运算得出结果,运算结果的类型由操作数的数据和运算符共同决定。 注意:在 VBA 中,逻辑量在表达式中进行算术运算时,True 值被当成-1 、False 值被当成 0 处理。 (2)表达式的书写规则 只能使用圆括号且必须成对出现,可以使用多个圆括号,但必须配对。 乘号不能省略。X 乘以 Y 应写成 X*Y,不能写成 XY。 表达式从左至右书写,无大小写区分。 (3)算术运算表达式的结果类型

127、在算术运算表达式中,参与运算的操作数可能具有不同的数据精度,VBA 规定运算结果的数据类型采用精度高的数据类型。 (4)运算优先级 如果一个表达式中含有多种不同类型的运算符,运算进行的先后顺序由运算符的优先级决定。VBA 常用运算符的优先级划分如 9.9 所示。 函数 数学函数 绝对值函数 abs(数值表达式) 向下取整 Int(数值表达式) 取整 Fix(数值表达式) 四舍五入 Round(数值表达式) 自然指数 Exp(数值表达式) 自然对数 Log( 数值表达式) 开平方 Sqr(数值表达式) 正弦函数 Sin(数值表达式) 余弦函数 Cos(数值表达式) 据库系统的组成数据描述事物的符

128、号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实正切函数 Tan(数值表

129、达式) 随机函数 Rnd(数值表达式) 函数 字符串函数 字符串检索 InStr(起始位置,串 1,串 2,Compare) 在串 1 中寻找串 2 的起始位置。 - 串长函数 len(字符串),返回串长,汉字算一个 - 字符串截取 left(str,n) Right(str,n) mid(str,start,n) 字符串函数 生成空格 space(n),产生 n 个空格 大小写转换 Ucase(str)转换成大写 Lcase(str)转换成小写 删除空格 Ltrim(str) 消除前面空格 Rtrim(str)消除后面空格 Trim(str) 消除前后空格 注意:没有直接消除中间空格函数 日

130、期、时间函数 Date() Time() Now() Year(日期) month(日期) Day(日期) Hour() minute() second() DateAdd(间隔类型,间隔值,基准日期时间) DateDiff( 间隔类型,日期 1,日期 2) 类型转换 字符转成 ASCII 码 ASC( 字符串),只转换第一个 ASCII 转成字符 Chr(代码) 数字转字符 Str(数值表达式) 字符转数字 Val(字符串) 流程控制语句 声明语句:命名或定义变量、常量、函数等 赋值语句:将表达式值赋给变量 变量名=表达式 Goto 语句 不推荐使用 9.4.1 声明语句 通过声明语句可以命

131、名和定义过程、变量、数组或常量。当声明一个过程、变量或数组时,也同时定义了它们的作用范围,此范围取决于声明位置(子过程、模块或全局)和使用什么关键字(Dim、Public、Static 或 Global 等)来声明它。 例如,有如下程序段: Sub Myproc( ) Dim SinS as Single,SinR as Single Const P=3.14159 End Sub 上述语句声明定义了一个名为 Myproc 的子过程, Dim 语句定义了 2 个名称分别为 SinS 和 SinR的单精度数据变量,Const 语句定义了 1 个名为 P 的符号常量。当这个子过程被调用或运行时,所

132、有包含在 Sub 和 End Sub 之间的语句都会被执行。 9.4.2 赋值语句 赋值语句用于指定一个值或表达式给变量或常量。使用格式为: Let 变量名= 值或表达式 其中:Let 为可选项,在使用赋值语句时,一般省略。 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统

133、数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实例如: Dim SinS as Single,SinR as Single SinS=1234.567 Let SinR=12.3 关于使用赋值语句的说明: (1)当数值表达式与变量精度不同时,系统强制转换成变量的精度。 例如: Dim IntN as Integer IntN=10.6 IntN 为整型变量,10.6 经四舍五入转换后赋值,IntN 值为 11 (

134、2)当表达式是数字字符串,变量为数值型,系统自动转换成数值类型再赋值,若表达式含有非数字字符或空串时,赋值出错。 例如: IntN%=123 IntN 值为 123 IntN%=1a2 3 出错,类型不匹配 (3)不能在一个赋值语句中,同时给多个变量赋值。 例如:以下语句语法没有错误,但结果不正确。 x%=y%=z%=10 (4)实现累加作用的赋值语句。 例如: n=n+1 取变量 n 中的值加 1 后再赋给 n,与循环语句结合,可实现计数 说明:还有一个赋值语句是 Set 语句,它用来指定一个对象给已声明为对象类型的变量,Set 关键字不能省略。 9.4.3 标号和 GoTo 语句 GoTo

135、 语句用于在程序执行过程中实现无条件转移。 格式为:GoTo 标号 程序执行过程中,遇到 GoTo 语句,会无条件地转到其后的“ 标号” 位置,并从该位置继续执行程序。 标号定义时,名字必须从代码行的第一列开始书写,名字后加冒号“:”。 例如: Goto Label1 跳转到标号为“Label1”的位置执行 Label1: 定义的“Label1”标号位置 说明:GoTo 语句在早期的 Basic 语言中曾广泛应用。在 VBA 中,程序的执行流程可用结构化语句控制,除在错误处理的“On Error GoTo.” 结构中使用外,应避免使用 GoTo 语句。 9.4.4 执行语句 顺序结构 每条语句

136、执行且执行一次。 选择(分支)结构 根据条件真假,有些语句可能不执行,但执行部分只运行一次。 循环结构 根据条件真假,有些语句可能执行多次,但也有可能一次也不执行! 分支结构 单分支、双分支、多分支 单分支 if 条件 then 语句块 双分支 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统

137、数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实if 条件 then 语句块 1 else 语句块 2 end if 多分支,即单双分支的嵌套 注意:else 总与最近的 if 配对使用! !当嵌套层次太多时,可以考虑使用 case 语句 (1)单分支结构 语句格式为: If Then 或 If Then End If 功能:当条件表达式为真时,执行 Then 后面的语句块或语句,否则不做任何

138、操作。 说明: 语句块可以是一条或多条语句。 在使用上边的单行简单格式时, Then 后只能是一条语句,或者是多条语句用冒号分隔,但必须与 If 语句在一行上。 例如:比较两个数值变量 x 和 y 的值,用 x 保存大的值,y 保存小的值。语句如下: If xy Then t=x t 为中间变量,用于实现 x 与 y 值的交换 x=y y=t End If 或 If xy Then t=x: x=y: y=t (2)双分支结构 语句格式为: If Then Else 或 If Then Else End If 功能:当条件表达式为真时,执行 Then 后面的语句 1 或语句块 1,否则执行 E

139、lse 后面的语句 2或语句块 2。 【例 9.12】编写计算如下函数的程序语句。 If x=0 Then y=Sqr(x) Else y=Abs(x) End If 或 If x=0 Then y=Sqr(x) Else y=Abs(x) 本例亦可用单分支结构语句实现,读者可写出程序语句。 双分支结构语句只能根据条件表达式的真或假来处理两个分支中的一个。当有多种条件时,要使用多分支结构语句。 (3)多分支结构 语句格式为: If Then 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户

140、与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实ElseIf Then Else End If 功能:依次测试条件表达式 1、条件表达式 2、,当遇到条件表达式为真时,则执行该条件下的语句块。如均

141、不为真,若有 Else 选项,则执行 Else 后的语句块,否则执行 End If 后面的语句。 说明:不管条件分支有几个,程序执行了一个分支后,其余分支不再执行。当有多个条件表达式同时为真时,只执行第一个与之匹配的语句块。因此,应注意多分支结构中条件表达式的次序及相交性。另外注意 ElseIf 中不能有空格。 【例 9.13】用窗体实现如下操作:当输入某同学期末考试科目的总平均成绩时,显示该生对应的五级制总评结果。 在窗体中添加以下控件: 创建 2 个标签控件,其标题分别设为:总平均成绩和总评结果。 创建 2 个文本框控件,其名字分别设为:Zpcj 和 Zpjg。 创建 1 个命令按钮,其标

142、题为“ 评定” ,在其 Click 事件过程中,加入如下代码语句: Private Sub command1_Click( ) If Me!Zpcj=90 Then Me!Zpjg= 优秀 ElseIf Me!Zpcj=80 Then Me!Zpjg= 良好 ElseIf Me!Zpcj=70 Then Me!Zpjg= 中等 ElseIf Me!Zpcj=60 Then Me!Zpjg= 及格 Else Me!Zpjg= 不及格 End If End Sub 运行结果:当在总平均成绩文本框中输入任何数值数据时,单击【评定】按钮,总评结果将显示在总评结果框中。 (4)If 语句的嵌套使用: 指

143、 If 或 Else 后面的语句块中又包含有 If 语句。语句格式为: If Then If Then End If End If 【例 9.14】比较 3 个数值变量 x、y 和 z 的值,通过交换,使得 xyz 。 程序语句如下: If xy Then t=x: x=y: y=t 如果 xy If yz Then t=y: y=z: z=t 如果 yz If xy Then t=x: x=y: y=t 此时的 x,y 值已不是原先的值 End If 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理

144、系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实End If End If 注意:嵌套 If 语句应注意书写格式,为提高程序的可读性,多采用锯齿型。注意 If 与 End If 的配对

145、。多个 If 嵌套,End If 与它最近的 If 配对。 2.多分支 Select Case 语句 Select Case 语句格式为: Select Case 变量或表达式 Case 表达式 1 Case 表达式 2 Case Else End Select 功能:Select 语句首先计算 Select Case 后的值,然后依次计算每个 Case 子句中表达式的值, 如果的值满足某个 Case 值, 则执行相应的语句块, 如果当前 Case值不满足, 则进行下一个 Case 语句的判断。 当所有 Case 语句都不满足时, 执行 Case Else 子句。如果条件表达式满足多个 Cas

146、e 语句,则只有第一个 Case 语句被执行。 说明: “ 变量或表达式” 可以是数值型或字符串表达式。 Case 表达式与“ 变量或表达式” 的类型必须相同。 Case 表达式可以是下列几种格式: 单一数值或一行并列的数值,之间用逗号分开。 用关键字 To 分隔开的两个数值或表达式之间的范围, 前一个值必须比后一个值要小。字符串的比较是从它们的第一个字符的 ASCII 码值开始比较的,直到分出大小为止。 用 Is 关系运算符表达式。 例如: Case 1 to 20 Case is20 Case 1 To 5,7,8,10,is20 Case A To Z 【例 9.15】例 9.13 中判

147、定学生总评成绩的代码可改写如下: Select Case Val(me!Zpcj) Case is=90 me!Zpjg= 优秀 Case 80,81,82 to 89 me!Zpjg= 良好 Case 70 to 79 me!Zpjg= 中等 Case 60 to 69 me!Zpjg= 及格 Case Else me!Zpjg= 不及格 End Select 又例如: Dim strx as string *1 Select Case strx Case A to Z, a to z stry=英文字母 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据

148、库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实Case !,?,.,; stry=标点符号 Case Is68 stry=字符

149、的 ASCII 码值小于 68 Case Else stry=其他字符 End Select 3.循环语句 (1)Do WhileLoop 循环语句 语法格式为: Do While 条件表达式 Exit Do Loop 功能: Do While 循环语句:当条件表达式结果为真时,执行循环体,直到条件表达式结果为假或执行到 Exit Do 语句而退出循环体。 (2)Do UntilLoop 循环语句 语法格式为: Do Until 条件表达式 Exit Do Loop Do Until 循环语句:当条件表达式结果为假时,执行循环体,直到条件表达式结果为真或执行到 Exit Do 语句而退出循环体

150、。 (3)DoLoop While 循环语句 语法格式为: Do Exit Do Loop While 条件表达式 说明: 关键字 While 用于指明当条件为真(True)时,执行循环体中的语句。 (4)DoLoop Until 循环语句 语法格式为: Do Exit Do Loop Until 条件表达式 说明: 关键字 Until 用于指明当条件为真(True)前执行循环体中的语句。 对于(1)和(2)循环语句先判断后执行,循环体有可能一次也不执行;而对于(3)和(4)循环语句为先执行后判断,循环体至少执行一次。 在 DoLoop 循环体中,可以在任何位置放置任意个数的 Exit Do

151、语句,随时跳出 DoLoop 循据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改

152、用新的数据库模型数据模型数据模型是现实环。 如果 Exit Do 使用在嵌套的 DoLoop 语句中,则 Exit Do 会将控制权转移到 Exit Do 所在位置的外层循环。 当省略 While 或 Until 条件子句时,循环体结构变成如下格式: Do Exit Do Loop 循环结构仅由 Do. Loop 关键字组成,表示无条件循环,若在循环体中不加 Exit Do 语句,循环结构为“ 死循环” 。 【例 9.16】把 26 个小写英文字母赋给数组 strx。 Dim strx(1 to 26) As String I=1 Do While I=26 strx(I)=Chr(I+96)

153、 I=I+1 Loop 5)ForNext 循环语句 主要用于循环次数已知的循环操作。语句格式为: For 循环变量=初值 To 终值 step 步长值 Exit For Next 循环变量 功能: 循环变量先被赋初值。 判断循环变量是否在终值内,如果是,执行循环体,然后循环变量加步长值继续;如果否,结束循环,执行 Next 后的语句。 说明:循环变量必须为数值型。 step 步长值:可选参数。如果没有指定,则 step 的步长值默认为 1。注意:步长值可以是任意的正数或负数。一般为正数,初值应小于等于终值;若为负数,初值应大于等于终值;步长值不能为 0,否则造成“ 死循环” 。 【例 9.1

154、7】把 26 个大写英文字母赋给数组 strx。 Dim strx(1 to 26) As String I=1 For I=1 To 26 strx(I)=Chr(I+64) Next I 说明:循环体结束后,循环变量的值为循环终值+步长值,上例循环结束后 I 值为 27。 【例 9.18】分析下列程序的循环结构:For K=5 To 10 Step 2 K=K*2 Next K 按照公式计算,循环次数为:(10-5+1)/2=3 次,但这是错误的。实际上,该循环的循环次数为只有 1 次(循环变量先后取值 5 和 12,循环执行 1 次之后,循环变量值为 12,超过终值 10,循环结束)。

155、【例 9.19】在立即窗口中显示有(*)组成的 5*5 的正方形。 Sub Procedure5( ) 输出 5*5 的正方形 Const MAX=5 定义常量 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统

156、一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实 Dim Str As String Str= For n=1 to Max Str=Str+* Next n For n=1 to Max Debug.print Str Next n End Sub (6)WhileWend 循环语句 WhileWend 循环与 Do WhileLoop 结构类似, 但不能在 WhileWend 循环中使用 Exit Do 语句。 WhileWend 循环语句格式为: While 条件表达式

157、 Wend 9.5 过程调用 函数调用 函数名称(参数表) 例题 9.20 计算圆面积,使用函数调用方法 过程调用 Call 过程名称(参数表) 参数传递 ByVal 传值方式,单向 ByRef 传址方式,双向 举例子说明! 【例 9.20】在窗体对象中,使用函数过程实现任意半径的圆面积计算,当输入圆半径值时,计算并显示圆面积。 在窗体中添加以下控件: 创建两个标签控件,其标题分别设为:半径和圆面积。 创建两个文本框控件,其名字分别设为:SinR 和 SinS 创建一个命令按钮,其标题设为“ 计算” ,在其 Click 事件过程中,加入如下代码语句: Private Sub command1_

158、Click( ) me!SinS=Area(me!SinR) End Sub 在窗体模块中,建立求解圆面积的函数过程 Area()。代码如下: Public Function Area(R As Single) As Single IF RVal(me!Siny) Then Msgbox x 值大于 y 值,不需要排序,vbinformation, 提示 Me!Sinx.SetFocus Else a= Me!Sinx b= Me!Siny Swap a,b Me!Sinx = a Me!Siny = b Me!Sinx.SetFocus End If End Sub 在窗体模块中,建立完成排

159、序功能的子过程 Swap。代码如下: Public Sub Swap(x,y) Dim t t=x x=y y=t End Sub 运行窗体,可实现输入数据的排序。 在上面的例子中,Swap(x,y) 子过程定义了两个形参 x 和 y,主要任务是:从主调程序获得初值,又将结果返回给主调程序,而子过程名 Swap 是无值的。 9.5.2 参数传递 在 VBA 中,实参向形参的数据传递有两种方式,即传值(ByVal 选项)和传址(ByRef 选项),传址调用是系统默认方式。区分两种方式的标志是:要使用传值的形参,在定义时前面加有“ByVal”关键字,有“ByVal”关键字,为传值方式,否则为传址方

160、式。 (1)传值调用的处理方式是:当调用一个过程时,系统将相应位置实参的值复制给对应的形参,在被调过程处理中,实参和形参没有关系。被调过程的操作处理是在形参的存储单元中进行,形参由于操作处理引起的任何变化均不反馈、影响实参的值。当过程调用结束时,形参所占用的内存单元被释放,因此,传值调用方式具有单向性。 (2)传址调用的处理方式是: 当调用一个过程时, 系统将相应位置实参的地址传递给对应的形参。因此,在被调过程处理中,对形参的任何操作处理都变成了对相应实参的操作,实参的值将会随被调过程对形参的改变而改变,传址调用方式具有双向性。 【例 9.22】创建有参子过程 Test(),通过主调过程 Ma

161、in_click( ) 被调用,观察实参值的变化。 被调子过程 Test( ): Public Sub Test(ByRef x As Integer) 形参 x 说明为传址形式的整型量 x=x+10 改变形参 x 的值 End Sub 主调过程 Main_click( ) : Private Sub Main_click( ) 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据

162、库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实Dim n As Integer 定义整型变量 n n=6 变量 n 赋初值 6 Call Test(n) MsgBox n 显示 n 值 End Sub 当主调过程 Main_click( ) 调用子过程 Test( )后, “MsgBox n” 语句显示 n

163、 的值已经发生了变化, 其值变为 16,说明通过传址调用改变了实参 n 的值。 如果将主调过程 Main_click( ) 中的调用语句“Call Test(n)”换成“Call Test(n+1)”,再运行主调过程Main_click( ) ,结果会显示 n 的值依旧是 6。表明常量或表达式在参数的传址调用过程中,双向作用无效,不能改变实参的值。 在上例中,需要操作实参的值,使用的是系统默认的传址调用方式,若使用传值调用方式,请读者分析处理结果的变化。 9.6 程序运行错误处理与调试 该节内容可以融入到其他章节中,编写例子的时候进行调试、运行。 注意语法错误和逻辑错误的调试 调试的方法等 第

164、 10 章 VBA 数据库编程 通过本章的学习,读者应该掌握以下内容: 1.VBA 常见操作;2.VBA 的数据库编程; 10.1 VBA 常见操作 1.打开和关闭操作 (1)打开窗体操作 一个程序中往往包含多个窗体,可以用代码的形式关联这些窗体,从而形成完整的程序结构。 命令格式为: DoCmd.OpenForm formname,view ,filtername ,wherecondition ,datamode ,windowmode 【例 10.1】以对话框形式打开名为“ 学生信息登录” 窗体。 DoCmd.OpenForm 学生信息登录,acDialog 注意:参数可以省略,取缺省值

165、,但分隔符“,”不能省略。 (2)打开报表操作 命令格式: DoCmd OpenReport reportname,view,filtername,wherecondition (3)关闭操作 命令格式为: DoCmd.Close ,objecttype,objectname,save 【例 10.2】关闭名为“ 学生信息登录” 窗体。 DoCmd.Close acForm, 学生信息登录 如果“ 学生信息登录” 窗体就是当前窗体,则可以使用语句:DoCmd.Close 。 2.输入框(InputBox) 输入框用于在一个对话框中显示提示,等待用户输入正文并按下按钮、返回包含文本框内容的字符串

166、数据信息。它的功能在 VBA 中是以函数的形式调用使用,其使用格式如下: InputBox(prompt,title,default,xpos,ypos,helpfile,context) 3.信息框(MsgBox ) 消息框用于在对话框中显示消息,等待用户单击按钮,并返回一个整型值告诉用户单击哪一个按钮。其使用格式如下: MsBox(prompt,buttons,title,helpfile,context) 4.VBA 编程验证数据 使用窗体和数据访问页,每当保存记录数据时,所做的更改便会保存到数据源表当中。在控件中的数据被改变之前或记录数据被更新之前会发生 BeforeUpdate 事件

167、。通过创建窗体或控件的据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据

168、库模型数据模型数据模型是现实BeforeUpdate 事件过程,可以实现对输入到窗体控件中的数据进行各种验证。例如,数据类型验证、数据范围验证等。 【例 10.3】对窗体 test 上文本框控件 txtAge 中输入的学生年龄数据进行验证。要求:该文本框中只接受 1530 之间的数值数据,提示取消不合法数据。 添加该文本控件的 BeforeUpdate 事件过程代码如下: Private Sub txtAge_BeforeUpdate (Cancel As Integer) If Me!txtAge = Or IsNull (Me!txtAge)Then 数据为空时的验证 MsgBox 年龄不

169、能为空!,VbCritical,警告 Cancel = True 取消 BeforeUpdate 事件 ElseIf IsNumeric (Me!txtAge) = False Then 非数值数据输入的验证 MsgBox 年龄必须输入数值数据!,VbCritical,警告 Cancel = True 取消 BeforeUpdate 事件 Elseif Me! txtAge 30 Then 非法范围数据输入的验证 MsgBox 年龄为 1530 范围数据!,VbCritical,警告 Cancel = True 取消 BeforeUpdate 事件 Else 数据验证通过 MsgBox 数据验

170、证 OK!,VbInformation, 通告 End If End Sub 5.计时事件(Timer) VB 中提供 Timer 时间控件可以实现“ 定时” 功能。但 VBA 并没有直接提供 Timer 时间控件,而是通过设置窗体的“ 计时器间隔(TimerInterval)” 属性与添加“ 计时器触发(Timer)” 事件来完成类似“ 定时” 功能。 其处理过程是: Timer 事件每隔 TimerInterval 时间间隔就会被激发一次, 并运行 Timer 事件过程来响应。这样重复不断,即实现“ 定时” 处理功能。 【例 10.4】使用计时事件 Timer 在窗体的一个标签上实现自动计

171、数操作(从 1 开始)。要求:窗体打开时开始计数,点击其上按钮,则停止计数,再点击一次按钮,继续计数。窗体运行如图 10.3所示。 操作步骤如下: (1)创建窗体 timer,并在其上添加一个标签 1Num 和一个按钮 bOK。 (2)打开窗体属性窗口,设置“ 计时器间隔” 属性值为 1000 并选择“ 计时器触发” 属性为“ 事件过程” 项,如图 10.4 所示。点击其后的【】 ,进入 Timer 事件过程编写事件代码。 注意,“ 计时器间隔” 属性值以毫秒为计量单位,故输入 1000 表示间隔为 1 秒。 (3)设计窗体“ 计时器触发” 事件、窗体“ 打开” 事件和 bOK 按钮“ 单击”

172、 事件代码及有关变量的类模块定义如下: Option Compare Datebase Dim flag As Boolean 标记标量,用于存储按钮的单击动作 Private Sub bOK_Click ( ) 按钮单击事件 flag = Not flag End Sub Private Sub Form_Open (Cancel As Integer) 窗体打开事件 flag = True 设置窗体打开时标记变量的初始状态为 True End Sub Private Sub Form_timer ( ) 计时器触发事件 If flag = True Then 根据标记变量决定是否进行屏幕更

173、新 Me!lNum.Caption=CLng(Me!lNum.Caption)+1 标签更新 End If End Sub 在利用窗体的 Timer 事件进行动画效果设计时,只需将相关代码添加进 Form_Timer( ) 事件模板据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管

174、理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实中即可。 此外,“ 计时器间隔” 属性值也可以安排在代码中进行动态设置(Me.TimerInterval=1000) 。而且可以通过设置“ 计时器间隔” 属性值为零(Me.TimerInterval=0) 来终止 Timer 事件继续发生。 【例 10.5】设计一个用户登录窗体,输入用户名和密码,如用户名或密码为空,则给出提示,重新输入;如用户名或密码不正确,

175、则给出错误提示,结束程序运行;如正确,则显示“ 欢迎使用!” 信息。要求整个登录过程要在 30 秒中完成,如果超过 30 秒还没有完成正确的登录操作,则程序给出提示自动终止这个登录过程。 代码如下: Option Compare Database Dim flag As Boolean 标志标量,用于存储按钮的单击动作 Dim second As Integer 计时器变量 Dim lcount As Integer 计次变量 Private Sub Form_Open(Cancel As Integer) 窗体打开事件 second = 0 事件计数器清 0 lcount = 0 登录计次变

176、量清 0 End Sub Private Sub Form_Timer( ) 计时器触发事件 If second 30 Then MsgBox 请在 30 秒中登录, vbCritical, 警告 DoCmd.Close Else Me!lNum.Caption = 30 - second 倒计时显示 End If second = second + 1 计时器+1 End Sub Private Sub OK_Click( ) 按钮单击事件 lcount = lcount + 1 计次+1 If Len(Nz(Me!username) = 0 And Len(Nz(Me!userpasswo

177、rd) = 0 And lcount = 3 Then 用户名和密码均为空时的处理 MsgBox 用户名和密码不能为空!请输入 + Chr(13) + Chr(13) + 您还有 & 3 - lcount & 次机会, vbCritical, 提示 Me!username.SetFocus 设置输入焦点在UserName文本框 ElseIf Len(Nz(Me!username) = 0 And Count = 3 Then 用户名为空时的处理 MsgBox 用户名不能为空!请输入 + Chr(13) + Chr(13) + 您还有 & 3 - lcount & 次机会, vbCritical

178、, 提示 Me!username.SetFocus 设置输入焦点在UserName文本框 ElseIf Len(Nz(Me!userpassword) = 0 And Count = 3 Then MsgBox 请确认用户名和密码后再登录, vbCritical, 警告 DoComd.Close End If End Sub 10.2 VBA 的数据库编程 1.数据库引擎及其接口 Microsoft Office VBA是通过 Microsoft Jet 数据库引擎工具来支持对数据库的访问。所谓数据库引擎实际上是一组动态链接库(DLL) ,当程序运行时被连接到 VBA 程序而实现对数据库的数据

179、访问功能。数据库引擎是应用程序与物理数据库之间的桥梁,它以一种通用接口的方式,使各种类型物理数据库对用户而言都具有同一的形式和相同的数据访问与处理方法。 在Microsoft Office VBA中主要提供了3种数据库访问接口: 开放数据库互连应用编程接口(Open Database Connectivity API ,ODBC API) 、数据访问对象(Data Access Objects ,DAO) 和 ActiveX数据对象(ActiveX Data Objects ,ADO) 。 ODBC API:目前 Windows 提供的 32 位 ODBC 驱动程序对每一种客户机/服务器 RD

180、BMS 、最流行的索引顺序访问方法(ISAM) 数据库(Jet、dBase、Foxbase 和 FoxPro) 、扩展表(Excel)和划界文本文件都可以操作。在 Access 应用中,直接使用 ODBC API 需要大量 VBA 函数原型声明(Declare)和一些繁琐、低级的编程,因此,实际编程很少直接进行 ODBC API 的访问。 DAO:提供一个访问数据库的对象模型。利用其中定义的一系列数据访问对象,如 Database、QueryDef 、 RecordSet 等对象, 实现对数据库的各种操作。 这是 Office 早期版本提供的编程模型,用来支持 Microsoft Jet 数据

181、库引擎,像开发者通过 ODBC 直接连接到其他数据库一样,连接到Access 数据库。DAO 最适用于单系统应用程序或在小范围本地分布使用,其内部已经对 Jet 数据库的访问进行了加速优化,而且使用起来也是很方便的。所以如果数据库是 Access 数据库且是本地使用的话,可以使用这种访问方式。 ADO:是基于组件的数据库编程接口,是一个和编程语言无关的 COM 组件系统。使用它可以方便地连接任何符合 ODBC 标准的数据库。 Microsoft Office 2000 及以后版本应用程序均支持广泛的数据源和数据访问技术,于是产生了一种新的数据访问策略:通用数据访问(Universal Data

182、 Access ,UDA) 。用来实现通用数据访问的主要技术是称作OLE DB( 对象链接和嵌入数据库)的低级数据访问组件结构和称为ActiveX 数据对象 ADO 的对应于 OLE DB 的高级编程接口。 3.数据访问对象(DAO) (2)利用 DAO 访问数据库 通过 DAO 编程实现数据库访问时,首先要创建对象变量,然后通过对象方法和属性来进行操作。下面给出数据库操作一般语句和步骤: 程序段: 定义对象变量 Dim ws As Workspace Dim db As Database Dim rs As RecordSet 通过 Set 语句设置各个对象变量的值 据库系统的组成数据描述事

183、物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实 Set ws =

184、 DBEngine.Workspace(0) 打开默认工作区 Set db = ws.OpenDatabase() 打开数据库文件 Set rs = db.OpenRecordSet() 打开数据记录集 Do While Not rs.EOF 利用循环结构遍历整个记录集直至末尾 安排字段数据的各类操作 rs.MoveNext 记录指针移至下一条 Loop rsclose 关闭记录集 dbclose 关闭数据库 Set rs = Nothing 回收记录集对象变量的内存占有 Set db = Nothing 回收数据库对象变量的内存占有 4.ActiveX 数据对象(ADO) 利用 ADO 访问

185、数据库一般过程和步骤是: 定义和创建 ADO 对象实例变量。 设置连接参数并打开连接Connection。 设置命令参数并执行命令(分返回和不返回记录集两种情况)Command 。 设置查询参数并打开记录集RecordSet。 操作记录集(检索,追加,更新,删除)。 关闭、回收有关对象。 具体可参阅以下程序段分析: 程序段 1:在 Connection 对象上打开 RecordSet 创建对象引用 Dim cn As new ADODB.Connection 创建一连接对象 Dim rs As new ADODB .RecordSet 创建一记录集对象 cn.Open 打开一个连接 rs.Op

186、en 打开一个记录集 Do While Not rs.EOF 利用循环结构遍历整个记录集直至末尾 安排字段数据的各类操作 rs.MoveNext 记录指针移至下一条 Loop rs.close 关闭记录集 cn.close 关闭连接 Set rs = Nothing 回收记录集对象变量的内存占有 Set cn = Nothing 回收连接对象变量的内存占有 程序段 2:在 Command 对象上打开 RecordSet 创建对象引用 Dim cm As new ADODB.Command 创建一命令对象 Dim rs As new ADODB.RecordSet 创建一记录集对象 设置命令对象

187、的活动连接、类型及查询等属性 With cm .ActiveConnection = .CommandType = .CommandText = 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为

188、用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实 End With Rs.Open cm, 设置 rs 的 ActiveConnection 属性 Do While Not rs.EOF 利用循环结构遍历整个记录集直至末尾 安排字段数据的各类操作 rs.MoveNext 记录指针移至下一条 Loop rs.close 关闭记录集 Set rs = Nothing 回收记录集对象变量的内存占有 据库系统的组成数据描述事物的符号记录是数据库中存储的基本对象例如文字图形图像声音等数据库长期存储在计算机内的有组织的可共享的数据集合数据库管理系统位于用户与操作系统之间的一层数据管理软件是数据库系统的中库的运行管理数据库的建立与维护功能数据库系统在计算机系统中引入数据库之后组成的系统用来组织和存取大量数据的管理系统数据库系统是由计算机系统硬件和软件系统数据库数据库管理系统数据库管理员和用户组成的具有高存取粒度数据库管理系统对数据进行统一的管理和控制为用户提供了友好的接口高级数据库阶段分布式数据库系统数据库的发展方向一是改造和扩充关系数据库以适应新的应用要求二是改用新的数据库模型数据模型数据模型是现实

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号