第8章 创建宏与模块对象
第8章 宏对象1 ppt课件

使用MoveSize宏操作可以移动活动窗口或 调整其大小。
8.5.3 事件属性
要了解宏对象在Access 2000中的 执行机制,就必须首先了解事件、消息 与消息映射的概念。
在Access 2000中,每当产生了一 个事件时(例如,用户单击鼠标左键产 生【单击】事件),总会有消息与之对 应。消息一经产生即被送入到消息队列 中并最终被窗口对象感知。
6、Maximize宏操作
使用Maximize宏操作可以最大化活动窗口, 使其充满Access 2000的整个窗口。Maximize宏 操作可以使用户尽可能多地看到活动窗口中的对 象。Maximize宏操作没有任何操作参数。
7、Minimize宏操作
使用Minimize宏操作可以将活动窗口最小化, 使其缩小为Access 2000窗口底部的小标题栏。 Minimize宏操作没有任何操作参数。
5、OpenTable宏操作
使用OpenTable 宏操作可以打开指定表 的数据表视图、设计视图或者在打印预览窗口 中显示表中的记录,也可以选择表的数据输入 模式。
6、Rename宏操作
使用Rename 宏操作可以重新命名指定的数 据库对象。
7、RepaintObject宏操作
使用RepaintObject 宏操作可以完成指定数据 库对象挂起的屏幕更新。如果没有指定数据库对 象,则对活动数据库对象进行更新。更新包括对 数据库对象的所有挂起控件进行重新计算。
中运行一个Windows或 MS-DOS 应用程序。
2、RunCode宏操作 使用RunCode宏操作可以调用Visual
Basic的函数过程。
3、RunMacro宏操作 使用RunMacro宏操作可以运行一个宏对
第8章 模块的操作

8.2 VBA程序设计基础
常量(续)
★除“直接常量”外,Access尚有三种常量 符号常量:用一个符号(常量名)来声明的反 复使用的某个数据 Cont 常量名 = 常量值 例如: Const PI = 3.14159 系统常量:Access启动时自动创建的常量,例如: true,false,yes,no,on,off,null
★加法:+ ★减法:★乘法:* ★除法:/ ★整数除法:\ ★乘幂:^ ★求模:mod
3 / 2,结果为 1.5 5.7 \ 2.2,相当于 6 \ 2,结果为3 2^4 表示求24 11 mod 3,结果为2
8.2 VBA程序设计基础
关系运算符:运算结果为逻辑值(true,false)
★等于: = ★不等于: <> ★大于: > ★小于: < ★大于等于: >= ★小于等于: <= 例如: [年龄] >= 18 "aa" < "ab" "张" < "周"
★变量在使用前需要用变量声明语句进行声明 给变量命名 指定变量的数据类型 确定变量的作用范围 ★全局变量的声明语句 public 变量名 as 数据类型 例如: public classno as string
8.2 VBA程序设计基础
变量的声明
★模块、局部变量的声明语句 dim 变量名 as 数据类型 dim name as string dim age as integer 或者 dim 变量名(表示该变量为Variant即可变数据类型) dim myvar 或者,也可以直接使用类型说明符进行声明: x% = 168 表示变量 x 为整形变量,并将其赋值为168
第8章创建与使用宏对象与模块对象

8.2.3 创建类模块中事件过程
1.问题的提出
每个窗体和报表对象都是一个类模块。如果希望
窗体对象的某个控件能够响应某个事件,例如 Click(单击)事件,则要为窗体类模块添加一个 事件过程。
怎样为类模块添加事件过程呢?
2.任务及步骤
【操作实例7】P233 在窗体中添加一个图片控件,为图片控件添加一个 Click事件过程,单击图片时图片能向左移动。
(1)打开代码编辑窗口 在设计视图打开窗体“口令验证”,单击工具箱的【图 像】按钮,从“图片”文件夹选择一个图片文件插入窗 体中。
(2)添加图片 选中图像控件。 单击工具栏【属性】 按钮,打开“图像”属性对话框, 选择“其他”标签,在“名称”属性框修改名称为“图 片”。
3.归纳分析
(1)如果要修改窗体事件过程中的代码,在设计视 图打开窗体,然后单击工具栏上的【代码】按钮 , 打开模块窗口,可在代码编辑窗口中进行修改代码。 (2)在事件过程的代码中调用函数不用“=”号,直 接使用即可,例如 DK ("学生信息查询窗口") 在代码中调用过程需要使用Call命令。 (3)模块的功能很强大,但需要编写程序代码,如 果要创建真正强大功能的模块,需要掌握VBA语言。
在“图像”属性对话框中选择“事件”标签,在“单击” 属性框单击最右边的 按钮。 在打开的“选择生成器”对话框中,选择“代码生成器” 选项,然后单击【确定】按钮。 在打开的模块窗口“代码编辑窗口”中,可看到已经添 加了私有的Sub过程“图片_Click ()”的框架。 在Sub过程“图片_Click ()”框架中输入以下代码。 关闭模块窗口,返回属性对话框,可在“单击”属性框 看到文字“[事件过程]”,表示在这里添加了事件过程。 切换到窗体视图,在“口令验证”窗体中单击图片,可 看到图片会向左移动。
第五次上机操作指导——宏和模块

第五次上机操作指导——宏和模块第一部分——宏一、建立单个宏1、建立一个名为“宏1”的宏对象,用宏中的操作完成“成绩表”中的“总评成绩”字段的更新。
二、建立宏组(1)建立“按钮选择窗体”,窗体中的4个命令按钮在建立时,使工具箱中的“控件向导”处于无效状态,即不用向导创建。
(2)建立名为“选择”的宏组,操作如下。
(3)在“按钮选择窗体”的设计视图中,分别将4个命令按钮的“单击”属性连接到宏组中的4个单个宏。
(4)对于宏中所用到的“课程窗1”,“学生信息表窗”,“学生信息分页窗体”分别增加一个命令按钮“返回”,是命令按钮“单击”事件连接到宏组中的“返回”宏。
三、建立一个自启动宏(1)建立一个“开始窗体”,如图(2)为了能自动自动加载“开始窗体”界面,建立一个名为Autoexec的自启动宏。
四、条件宏建立一个名为条件宏的宏,当在“开始窗体”中输入密码为“123”的时候,执行宏,通过条件宏打开“按钮选择窗体”。
第二部分——模块一、建立标准模块(1)编一个名为“模块1”的标准模块。
用InputBox函数输入半径r,MsgBox语句显示体积V。
Public Sub bulk()Const pi As Double = 3.14159Dim v As Double, r As Doubler = InputBox("请输入半径")v = pi * r ^ 3 * 4 / 3MsgBox v, , "球的体积:"End Sub(2)将上题改为用函数实现,在“立即窗口”中输入体积V,命名为“模块2”Public Function v(r As Single) As Singler = InputBox("请输入半径")v = 3.14159 * r ^ 3 * 4 / 3Debug.Print vEnd Function二、建立类模块(1)建立一个名为“计算”的窗体,当单击“求球的体积”命令按钮时,调用模块1中的bulk子过程;单击“求阶乘”命令按钮时,调用模块6中的jc函数。
《Access基础教程(第三版)》第8章 宏

8.1 宏的概念
在许多数据库系统中,可以运用编程(VBA)来完成一 在许多数据库系统中,可以运用编程( ) 些操作。但对于一般用户来说,使用宏是一种更简便的方法。 些操作。但对于一般用户来说,使用宏是一种更简便的方法。 宏的主要功能: 宏的主要功能: 可以替代用户执行重复的任务,节约用户的时间。 可以替代用户执行重复的任务,节约用户的时间。 可以使数据库中的各个对象联系得更加紧密。 可以使数据库中的各个对象联系得更加紧密。 可以显示警告信息窗口。 可以显示警告信息窗口。 可以为窗体制作菜单,为菜单指定某些操作。 可以为窗体制作菜单,为菜单指定某些操作。 可以把筛选程序加到记录中,提高记录的查找速度。 可以把筛选程序加到记录中,提高记录的查找速度。 可以实现数据在应用程序之间的传送。 可以实现数据在应用程序之间的传送。
8.3 创建宏与宏操作
Quit:退出Microsoft Access。 :退出 。 Rename:对一个指定的数据库对象重新命名。 :对一个指定的数据库对象重新命名。 RepaintObject:重画指定对象或者活动数据库对象。 :重画指定对象或者活动数据库对象。 Requery:通过重新查询控件的数据源来更新活动对象中 : 的特定控件的数据。 的特定控件的数据。 Restore:将处于最大化或最小化的窗口恢复为原来的大 : 小。 RunApp:在Access 中运行一个 中运行一个Windows或MS: 或 DOS应用程序。 应用程序。 应用程序 RunCode:可调用 过程。 :可调用Visual Basic的Function过程。 的 过程 RunMacro:运行选定的宏(该宏可以在宏组中)。 :运行选定的宏(该宏可以在宏组中)。
8.3 创建宏与宏操作
要创建宏组,可以按照如下步骤进行: 要创建宏组,可以按照如下步骤进行: 数据库”窗口中,单击“对象”下的“ 按钮。 (1)在“数据库”窗口中,单击“对象”下的“宏”按钮。 ) (2)单击“数据库”窗口工具栏上的“新建”按钮。 )单击“数据库”窗口工具栏上的“新建”按钮。 (3)单击状态栏中的“宏名”按钮,在宏设计窗口中出现 )单击状态栏中的“宏名”按钮, 宏名” “宏名”列。 宏名”栏内,键入宏组中的第一个宏的名字。 (4)在“宏名”栏内,键入宏组中的第一个宏的名字。 ) (5)添加需要宏执行的操作。在一个宏中可以包含一个或 )添加需要宏执行的操作。 者多个操作。 者多个操作。 (6)如果希望在宏组内包含其他的宏,请重复第(4)~ )如果希望在宏组内包含其他的宏,请重复第( )~ (5)步。 ) 创建宏组以后,如果需要引用宏组中的宏, 创建宏组以后,如果需要引用宏组中的宏,可以使用如 下的语法格式:宏组名.宏名 宏名。 下的语法格式:宏组名 宏名。 图8.7-8.9
第八章 宏的创建与运行

中。
在Access报表、窗体或控件上添加宏以相应某个事件,
操作步骤如下: 首先创建宏或事件过程。 在“设计”视图中打开窗体或报表。 将窗体、报表或控件的适当事件属性设为宏的名称。
例如,如果要使用宏在单击按钮时显示某种信息,可以将命令按
加上省略 号
15
创建和编辑宏10
创建条件宏
条件表达式:对于引用窗体或报表上相关控件值,其语法格式
为:
Forms![窗体名]![控件名] Reports![报表名]![控件名]
条件宏说明: 如果希望条件为“真”时执行多项操作,可以在后续“条件”列中输入 省略号,表示仍然是条件操作。 如果条件为“真”,执行条件操作(包括后续行“条件”为省略号的操 作),然后执行后面的操作;否则,跳过设置条件的操作以及带省略号 的操作,转到后续操作继续执行。 任务2:添加宏操作为打开“学生信息”报表,条件是当“学
串的输入。 定制菜单。 数据的导入、导出。 对控件属性赋值。
4
宏对象概述3
宏可以实现的功能
从上面的功能可以看出宏操作几乎涵盖了数据库
管理的全部细节,所以常常用宏来实现对一个 Access数据库应用系统的界面管理。 宏和表、查询、窗体等一样也是Access 中数据库 的对象之一。
22
宏及宏组的运行与调试4
调试宏
任务5:调试已建立的宏。 对前面创建的“打开主界面”进行调试。 (1)首先在设计视图中打开此宏,单击工具栏上的“单步”按钮, 再单击工具栏上的“执行”按钮,将弹出 “单步执行宏”对话框。 (2)单击“单步执行”按钮,将执行显示在窗口中的操作“打开 主界面” 。 (3)若单击“暂停”按钮,将停止宏的执行,并关闭对话框;若 单击“继续”按钮,则关闭单步执行,并执行宏的未完成部分。
面向对象的程序设计语言-VBA

s=p*r*r
s
思考:
End Sub
1、此程序是否正确? 2、变量与常量的区别?
(二)变量
程序运行过程中,值可以改变的量。 1、变量命名规则
➢ 变量名必须以字母或汉字开头,由字母、 汉字、数字或下划线组成(不能含有小数 点和空格),长度不超过255个字符的字符 串;
➢ 不能使用VBA中的关键字;
➢ VBA中不区分变量名的大小写。
(3)布尔型(Boolean) 布尔(Boolean)数据类型是一个逻辑值,用2 字节存储,它的取值只有 True或False。
当转换其他的数值类型为Boolean值时,0会成 为False,非0值则变成True。
当转换Boolean值为其他的数据类型时,False 成为0,而True成为-1。
(4)日期型(Date)
2、变量声明 使用变量之前,一般必须先声明变量。
(1)用Dim语句显式声明变量 Dim 变量名 [As 类型] As部分缺省,创建的变量为变体类型 Dim i As integer , sum As single
本章目录
说明: ①为了方便定义,可在变量名后加类型符来代替
“AS 类型”。此时变量名与类型符之间不能有 空格。 例:
在模块对象窗口单击“新建”按钮,或打开一个
已存在的模块,都会打开VBE窗口。
选择工具菜单中“宏”子菜单的“Visual Basic
编辑器”命令。
使用Alt+F11快捷键打开VBE界面,或切换数据
库窗口和VBE窗口。
8.1.3 VBE窗口
VBE窗口由工具栏、属性窗口、工程资源管理 器窗口、代码窗口和立即窗口组成。
该类型以8字节(64位)进行存储,并且小数点位数 是固定的。
第8章 宏与模块

图 8-4
8.2.2 宏组的创建
实际应用中,一个规模不大的数据库可能需要很多宏, 某一个具体的对象操作可能就需要多个不同的人来协助 进行。比如,“教师信息表”包含了教工多方面的情况, 但用户需求总是多变的。比如,某些倾向于查找同龄人 的信息,某些则希望能方便地查询出教授的资料,学校 体育部门的负责人则需要把所有教师按照年龄段分组显 示——设计者需要满足的条件可能很多。具体实现时可 以针对各种情况分别创建宏,这将导致数量比较庞大, 更重要的是使用时不方便,管理上也有困难。 为了解决这个问题,用户可以把所有相关的宏都组织 在一起,创建宏组。访问和调用时使用“点语法”,即 使用“宏组名.宏名”。比如,创建一个窗体,想加入 一个宏打开35岁以下的教工信息、调用时需使用“打开 教工信息.35岁以下的教工”。详细的说明将在后面的 8.3节中介绍。
图8-9“命令按钮向导”对话框之一
图8-10“命令按钮向导”对话框之二
5)单击“下一步”按钮,在打开的对框柜中确定命令按钮上显 示文本还是图片。用户可以选择自行输入显示的文字,Access也 预定义了不少可选的图片,还能通过浏览的方式从计算机中读取 外部的图片放进这个命令按钮中。本例显示文本“女学生信 息、”,如图8-11所示。 6)单击“下一步”按钮,在打开的对话框中确定按钮的实例名 称,然后单击“完成”按钮。如果有需要,还可以在设计视图中 对按钮的外观、尺寸等进行微调。 7)重复(3)到( 6)步,添加“入学成绩>700分信息”和“厦 门籍学生信息、”两个按钮。 8)对窗体进行适当的外观调节,保存其名字为“命令按钮演示 窗体”。 9)最终的完戍结果如图8-12所示。
8.3.1命令按钮
命令按钮是前面章节就已经介绍过的内容,在控 件向导的协助下,使用命令按钮可以实现很多功 能,其中就包括运行宏。这是一种调用宏的最常 见、最简单的方法,实际上相当于把命令按钮上 的鼠标单击事件当成宏的触发器。
Access数据库教程第8章 模块与VBA程序设计

方法引用格式为:
对象名.方法名 Text1.SetFocus
为窗体中的文本框Text1设置焦点获得光标
8.2.4 对象的事件和事件过程
• 事件是系统事先设定的能被对象所识别并响应的动作
例如:鼠标单击(Click)事件、打开窗体(Open)等。
• 事件过程是响应某一事件时去执行的程序代码,与事 件一一对应。 • 事件过程和方法的区别:
第8章 模块与VBA程序设计
主要内容
VBA程序设计概述
VBA程序开发环境
VBA程序基础和语句
VBA程序设计结构 VBA自定义过程的创建和调用
模块概述
1.标准模块
标准模块用于存储其他数据库对象使用的公共过程,具有很强的通用性。 标准模块包含若干个由VBA代码组成的过程,这些代码不与任何Access的 对象关联,可以在数据库中被任意一个对象调用。 通常将一些公共变量和公共过程设计成标准模块,其作用范围为整个应用 系统。
属性
方法
事件
对象
表、查询、窗体、报表、宏和模块都是对象。 窗体和报表中的控件(如标签、文本框、组合框、命令按 钮等)也是对象。
2.默认的对象名
未绑定的控件对象:默认名称是控件的类型加上一个唯一 的整数,例如 Text1
绑定的控件对象:控件对象的默认名称是记录源中字段的 名称
② 从该对象事件过程列表选项中选择某个事件名称,系统将 自动生成相应的事件
Private Sub Command1_Click()
插入代码
End Sub
8.4 VBA程序基础
VBA的数据类型
数据类型 类型标识 字节型 整型 长整型 单精度 Byte Integer Long Single Double 符号 无 % & ! # @ 无 $ 无 无 无 占用字节 1字节 2字节 4字节 4字节 8字节 8字节 8字节 不定 2字节 4字节 不定 取值范围 0~255 -32768~32767 -2147483648~2147483647 负数:-3.402823E38~-1.401298E-45 正数:1.401298E-45~3.402823E38
第八章宏的创建与运行。

创建和编辑宏6
创建简单宏
特点: 在宏设计窗口,只包
含“操作”和“注释” 两列;由一条或多条 简单操作组成,宏执 行时按照操作的顺序 一条一条地执行,直 到操作完毕为止。
12
创建和编辑宏7
创建宏组
一个宏对象是Access中的一个容器对象,其间可以包含 若干个宏,而一个宏又是由若干个操作组成。
任务2:添加宏操作为打开“学生信息”报表,条件是当“学 生表”窗体中选中男学生时显示(提示:要先运行学生表窗体)
16
创建和编辑宏11
宏的编辑
移动宏操作
选中,鼠标拖动 移动宏将移动宏操作的所有条件与操作参数
Forms![窗体名]![控件名] Reports![报表名]![控件名]
条件宏说明:
如果希望条件为“真”时执行多项操作,可以在后续“条件”列中输入 省略号,表示仍然是条件操作。
如果条件为“真”,执行条件操作(包括后续行“条件”为省略号的操 作),然后执行后面的操作;否则,跳过设置条件的操作以及带省略号 的操作,转到后续操作继续执行。
宏可以实现的功能
Access 中定义了很多宏操作,这些宏操作可以完成以下 的功能。
打开或关闭表、窗体或报表,执行查询,预览或打印报表。 筛选、查找记录。 执行任意的应用程序模块,含DOS程序。 显示信息框、响铃警告。 移动窗口,改变窗口大小。 模拟键盘动作,对对话框或其他等待输入的任务提供字符
使用宏,将多个操作集合在一起,就可以自动完成各 种简单的重复性工作,从而提高工作效率。
5
宏对象概述4
宏的相关概念:
宏操作
是由Access本身提供的、组成宏的基本单元,可以把宏操 作看成是完成一定功能的代码。
第8章G VBA编程与模块

8.1.6 事件过程的编写
(1) 在窗体或报表的设计视图中,选择某个对象,→【属 性表】→【事件】→【事件过程】选项,如图8-23所示。 (2) 单击 ,打开VBE窗口,如图8-24所示。在代码窗口 中,系统自动建立事件过程的入口语句和结束语句,并将光 标定位在代码段中,输入响应该事件的VBA代码。
整型 数 长整型 单精度型 数值型 浮点数 双精度型 数据在计算机中是以特定的形式存 货币类型 字符型 字节类型 在的,如整数、实数、字符等。各种 基本数据类型 布尔型 不同形式的数据有不同的存储方式和 日期型 数据结构。因此在程序编写过程中, 变体型 数据 类型 必须先定义数据类型,才能保证程序 对象型
查看 代码 查看 对象
切换文件夹
列出组 成工程 的文件
(4) 属性窗口
在设计模式下,属性窗口列出了当前选定 窗体或控件的属性的值,用户可以对这些属性 值进行设置。
打开属性窗口的 方法:单击工具栏 上的“属性窗口” 按钮 ;选择“视 图”菜单下的“属 性窗口”项。
对象列 表框 属性显示 排列方式 属性列 表框
VBE窗口
VBE窗口主要由菜单栏、标准工具栏、模块代码窗 口、工程资源管理器窗口和模块属性窗口组成。 (1) (2) (3) (4) (5) 菜单栏 标准工具栏 模块代码窗口 工程资源管理器窗口 模块属性窗口
(1)标准工具栏
课本174页图8-4
(2) 代码窗口
用来进行代码设计:各种事件过程、过 程代码的编写和修改。 打开代码窗口的方法:
8.1.2 VBA编程环境
Access 提供的VBA开发界面称为VBE(Visual Basic Environment),它以微软中VB编程环境的布局为基 础,为VBA提供了程序编辑、调试及运行的环境。
ACcess 宏与模块

8.3.2 创建模块
保存该模块 在窗体的运行模式下,单击“学生信息浏览”标 签,则屏幕弹出一个查询:
③宏运行的结果
①单击
②运行宏
8.4 VBA程序设计概述
面向对象程序设计的基本概念 VBA编程环境 VBA基础知识 程序控制语句
面向对象程序设计的基本概念
抽象 继承 封装 多态性 集合和对象 属性和方法 事件和事件过程
第八章 宏与模块
内容提要
8.1 宏与VBA 8.2 宏的创建 8.3 模块 8.4 VBA程序设计概述
8.1 宏与VBA
都是可以重复利用的一段代码。 利用宏可以自动执行某些任务,如可将数据库 对象有机地组织起来等。 VBA(Visual Basic For Applications)语言具 有强大的编程功能,可以完成宏无法实现的功 能。 窗体中的命令按钮等控件实现一定的功能,可 以:
“宏名”用来定义一个宏或宏组的名字, 执行该宏操作时,可以直接运行该宏。 在一定的条件下才执行的宏操作,称为条 件宏。
在条件列中输入相应的条件表达式,宏执行 之前先判断条件是否满足,如果满足则执行 该宏;如果条件不满足,该宏不被执行。
8.1.3 VBA概述
VBA(Visual Basic For Applications) 是微软Office套件的内置编程语言。 当某些操作不能用Access对象实现或实 现困难时,可以用VBA语言编写代码: VBA程序由模块组成 模块中有若干个过程,过程是包含VBA 代码的程序段
8.3 模块
模块的基本概念 创建模块 宏与模块之间的转换
8.3.1模块的基本概念
1. 模块的定义
模块就是将VBA声明和过程作为一个单元进行保存 的集合 模块包含若干由VBA代码组成的过程。
国家开放大学《数据库基础与应用》形考任务1-4完整答案

国家开放大学《数据库基础与应用》形考任务1-4完整答案课程考核本课程考核采用形成性考核与终结性考试相结合的方式。
形成性考核占课程综合成绩的30%,终结性考试占课程综合成绩的70%。
最终成绩=形考成绩30%+终考成绩70%考核方式相关信息以国家开放大学当学期发布的考试安排文件为准。
一、单选题1.在利用计算机进行数据处理的四个发展阶段中,第三个发展阶段是()。
【答案】数据库系统2.属性的取值范围被称为()。
【答案】域3.实用ER图进行描述的是()。
【答案】概念数据模型4.若实体A和B是1对多的联系,实体B和C是1对1的联系,则实体A和C 是()联系。
【答案】1对多5.若实体A和B是多对多的联系,实体B和C是1对1的联系,则实体A和C 是()联系。
【答案】多对多6.下面不属于数据库体系结构中三级模式的是()。
【答案】关系模式7.在文件系统中,存取数据的基本单位是()。
【答案】记录8.层次数据模型的结构是一种()。
【答案】树结构9.一个关系中的每一行称为一个()。
【答案】元组10.设D1、D2和D3定义域中的基数分别为2、3和4,则D1×D2×D3的元组数为()。
【答案】2411.设D1、D2、D3和D4为定义域,则在它们的笛卡尔积的运算结果中,每个元组具有的分量个数为()。
【答案】412.设关系R1具有a1个属性和b1个元组,关系R2具有a2个属性和b2个元组,则关系R1×R2所具有的属性个数为()。
【答案】a1+a213.若一个关系为R(学生号,姓名,性别,年龄),则可以作为主码的属性为()。
【答案】学生号14.设两个关系R1和R2中分别包含有m和n个元组,R1对R2存在着一对多的联系,将其进行自然连接,在得到的运算结果中最多包含的元组个数为()。
【答案】n15.设一个关系R1中的属性A是外码,它对应关系R2中的主码为B,其中被称为父关系的是()。
【答案】R216.设一个集合A={3,4,5,6,7},另一个集合B={1,3,5,7,9},则A和B的交集中包含的元素个数为()。
第8章 创建宏与模块对象

在第4行的“操作”列选择MsgBox(打开提示框)。
在“消息”参数框中输入在提示框中显示的提示文字“口 令不正确,请重新输入!”,并如图设置其他参数。
设置提示框参数
在第5行“操作”列中选择GoToControl(移动 光标到控件)操作命令。 在“控件名称”参数框中输入[kl],表示该操作 将鼠标光标移动到[kl]控件上。
在宏设计视图中单击“宏名”列下的第1 个空白单元格,输入“确定”作为宏名。
3. 定义条件
在宏设计视图中单击“条件”列的第1个 空白单元格,输入逻辑表达式:[kl]="1234", 表示条件为[kl]变量的字符串要与1234相同。 ([kl]可以为控件名称,例如该控件可以是窗 体中的文本框控件)。
4. 添加操作命令
8.1.3 宏使用的主要操作命令
操作命令名称 Beep Close GoToControl Maximize Minimize MsgBox OpenForm OpenReport PrintOut Quit RepaintObject Restore RunMacro SetValue StopMacro 通过计算机的扬声器发出嘟嘟声。 关闭指定的 Microsoft Access 窗口。如果没有指定窗口,则关闭当前活动窗口。 把光标移到打开的窗体、报表对象中指定控件上。 放大活动窗口,使其充满Access的主窗口。该操作可以使用户尽可能多地看到活动 窗口中的对象。 将活动窗口缩小为Access主窗口底部的一个小标题图标。 打开一个包含警告信息或其它信息的消息框。 打开一个指定的窗体,并可选择窗体数据输入及打开窗体的视图方式。 打开一个指定的报表,并可选择打开报表的视图方式。 打印当前数据库中的活动对象,如可以打印数据表、报表、窗体等。 关闭Access数据库。Quit 操作还可以指定在退出 Access 之前是否保存数据库对象。 更新指定数据库对象。如果没有指定数据库对象,则更新当前的活动数据库对象。 更新包括对象中的所有控件。 将处于最大化或最小化的窗口恢复为原来的大小。 运行指定的宏。 设置窗体、报表等对象上字段、控件的属性值。 停止正在运行的宏。 作用
第8章 宏的创建与使用

三. 调试宏
可以单步执行宏 ,如果每一次执行正确 , 则单步执行宏对话框 将显示下一个操作。也可以选择停止和继续(停止单步)
例如:单步执行带条件的学生信息宏,先选择单步方式,再 选择执行,初次界面如下:
本章小结
本章介绍了独立宏、嵌入式宏的概念,如何创建 宏以及宏的运行、调试。具体讲述了宏在打开窗 体、打开数据表和打开查询中的应用;还介绍了 对象的事件过程和部分VBA编程知识。
要求使用一个名为AutoExec的特殊宏
二. 运行嵌入式宏
对于嵌入在窗体、报表或控件中的宏,主要通过以下 两种方法运行: ① 当宏处于设计视图时,单击设计选项卡中的运行按钮 来运行该宏。 ② 以响应窗体、报表或控件中发生的事件形式运行宏, 这种方式其实就是嵌入式宏的工作方式。在窗体或报 表中发生设定的事件时,如果条件满足,就会入宏操作命令
单击组合框的下拉箭头,在打开的列表中选择宏操作命令 从“操作目录”窗格中把某个宏操作拖曵到组合框中
注意:宏只有设计视图一种方式,在设计视图下可以创建、 修改、执行宏。
8.2 创建宏与编辑宏
一. 创建独立宏
1.创建操作序列宏 例8.1 用宏实现打开输入学生基本信息窗体
一. 运行独立宏
2.运行宏组中的子宏
使用直接运行宏中的方法③可以指定 要运行宏组中的哪个宏。 问题: 如果直接运行宏组能运行组中所有的 宏吗?默认运行哪个? 宏组中的宏可表示成: [宏组].[宏名]
一. 运行独立宏
3.在另一个宏中运行宏
即创建一个含有操作命令RunMacro的宏 例如:创建一个宏,宏名为从其他宏运行宏 操作:RunMacro 宏名称:学生信息宏组.成绩查询
一. 创建独立宏
宏组设计窗口 2.创建宏组 例8.2 创建一个学生信息宏组
Access数据库的vba编程

2.变量
定义:在程序中可改变的量。 分类:内存变量
字段变量 命名:其名称均可用字母、汉字、数字和下划线组成。变量名
的第一个字符必须是英文字母,长度不得超过255个字符,并且 变量名不能与命令和函数名相同。 变量声明: 其语法格式为:
[Dim/public/private] 变量名 As 数据类型
第8章模块对象和VBA编程
讲授4学时 上机2学时
总体要求:
理解模块的概念和分类 熟悉VBA编程的界面 熟悉VBA的基本概念和基本语法 掌握模块的创建方法和使用 程序控制语句 VBA程序调试方法 编写事件驱动程序
学习重难点:
VBA功能和基础知识 创建模块 创建过程 创建VBA程序 运行VBA程序
分支语句:
(1)简单选择语句
最简单的选择语句格式如下: If 条件 Then 语句1 [Else 语句2]
【例8-6】编写程序,用立即窗口来输出结果。如果x大于或等于 y,则打印“x>=y”,否则打印“x<y”。
Dim x As Integer, y As Integer x=5 y=1 If x>=y Then Debug.Print "x>=y" Debug.Print "x<y"
(2)Do While…Loop语句
Do While…Loop循环与While循环都是 当型循环,先判断条件,当条件成立时执 行循环体。其语句结构如下: Do While 条件 循环体 Loop
【例8-11】用Do While…Loop循环语句改写例8-10。
Dim s As Integer, i As Integer s=0 i=0 Do While i<10
数据库基础与应用(Access 2010) 第8章 宏的操作

8.4 宏的应用
1 使用宏控制窗体 宏可以对窗体进行很多操作,包括打开、关闭、 最大化、最小化等,下面通过建立一个 AutoExec 宏来说明用宏控制窗体的操作。 AutoExec 宏会在 打开数据库时触发,可以利用该宏启动“登录对话 框”窗体。 例 8-10 利用 AutoExec 宏自动启动“登录对话框 ”窗体。
例 8-8 在窗体中显示要打开或关闭的表,在窗 体命令按钮单击事件中加入宏来控制打开或关闭 所选定的表。
8.3.2 宏的调试 在 Access2010 中提供了单步执行的宏调试工具。 使用单步跟踪执行,可以观察宏的执行流程和每一 步操作的结果,便于分析和修改宏中的错误。 例 8-9 利用单步执行,观察例 8-1 中创建的 “操作序列宏”的执行流程。
使用宏创建自定义菜单和快捷菜单例811利用宏创建3级菜单一级菜单包括文件编辑和退出3个菜单项其中文件菜单包括打开窗体打印预览两个二级菜单这两个二级菜单又分别包含3个三级菜单编辑菜单包含3个二级菜单退出菜单包含两个二级菜单
第8章 宏的操作
本章要点 宏概述 宏的创建 宏的运行与调试 宏的应用
例 8-7 创建数据宏,当输入“学生”表的“性 别”字段时在修改前进行数据验证,并给出错误 提示。
2 .创建已命名的数据宏 已命名的或“独立的”数据宏与特定表有关,但 不是与特定事件相关。可以从任何其他数据宏或标 准宏调用已命名的数据宏。要创建已命名的数据宏, 可执行下列操作。 ①在导航窗格中,双击要向其中添加数据宏的表。 ②在“表格工具 / 表”选项卡上的“已命名的宏” 命令组中,单击“已命名的宏”命令按钮,然后单 击“创建已命名的宏”命令 ③打开宏设计窗口,可开始添加操作。
2 .“操作目录”任务窗格
“操作目录”任务窗格分类 列出了所有宏操作命令,用户可 以根据需要从中进行选择。当选 择一个宏操作命令后,在窗格下 半部分会显示相应命令的说明信 息。“操作目录”窗格由 3 部分 组成,分别是程序流程控制、宏 操作命令和在此数据库中包含的 宏对象,如图所示。
第8章 宏的应用

选中宏→“工具”菜单→“宏”→“将宏转换为Visual
Basic代码”。如图8-3所示。
图8-3 将宏转换成VB代码
8.2 宏对象的创建
8.2.1 创建普通宏 8.2.2 创建宏组 8.2.3 创建条件宏
1. 简单条件的条件宏 2. 复合条件的条件宏 3. 宏组中的条件宏
【例8-1】 建立名为“普通宏”的宏 要求:依次打开表、查询、报表、窗体,再逐个关闭,关闭每个对象 之前要先显示提示信息。 操作步骤: (1)打开“学生管理”数据库→单击宏对象→单击“新建”按钮。 (2)第1个操作选OpenTable→“表名称”参数选:学生信息→注释 写:打开“学生信息”表。参数设置如图8-4所示。 (3)第2个操作选OpenQuery→“查询名称”参数选:班平均成绩→ 注释写:打开“班平均成绩”查询。参数设置如图8-5所示。
(5)第1个条件:[Forms]![复合条件宏测试窗体]![合唱团] and [Forms]![复合条件宏测试窗体]![舞蹈队]→操作选: MsgBox→消息写:你参加合唱团和舞蹈队→注释写:合唱 团和舞蹈队都选中。 (6)第2个条件:[Forms]![复合条件宏测试窗体]![合唱团] and not [Forms]![复合条件宏测试窗体]![舞蹈队]→操作 选:MsgBox→消息写:你只参加合唱团→注释写:只选合 唱团。 (7)第3个条件:not [Forms]![复合条件宏测试窗体]![合 唱团] and [Forms]![复合条件宏测试窗体]![舞蹈队]→操 作选:MsgBox→消息写:你只参加舞蹈队→注释写:只选 舞蹈队。 (8)第4个条件:not [Forms]![复合条件宏测试窗体]![合 唱团] and not [Forms]![复合条件宏测试窗体]![舞蹈队 ]→操作选:MsgBox→消息写:合唱团和舞蹈队都不参加 →注释写:合唱团和舞蹈队都未选。
模块与VBA编程

Private Sub Area() Rem 定义长、宽两个变量
Dim length As Single '长方形的长 Dim height As Single '长方形的宽 Rem 通过输入框输入长与宽,并将值变成数值型 length = Val(InputBox("请输入长方形的长")) height = Val(InputBox("请输入长方形的宽")) a = length * height '计算面积 MsgBox Str(a), vbDefaultButton1, "面积"
End Sub
8.4.2 条件语句
1. 单行结构条件
❖ 格式:
If <条件> Then<语句1>[else <语句2>]
解释:
如果<条件>成立,则执行<语句1>,否则执行<语句2> 若没有否则,则else <语句2>可省略。
2. 块结构条件 格式: If <条件1> Then <语句块1> [ElseIf <条件2> Then <语句块2>] [ElseIf <条件3> Then <语句块3>]
8.2.2 在模块中执行宏
在模块的过程定义中,使用Docmd对象的RunMacro方法,可以执行设计好的宏。 其调用格式为: Docmd.RunMacro MacroName [,RepeatCount] [,RepeatExpression] 其中,MacroName表示当前数据库中宏的有效名称;RepeatCount可选项,用于 计算宏运行次数的整数值;RepeatExpression可选项,数值表达式,在每一次运行 宏时进行计算,结果为False时,停止运行宏。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. 定义条件
在宏设计视图中单击“条件”列的第1个 空白单元格,输入逻辑表达式:[kl]="1234", 表示条件为[kl]变量的字符串要与1234相同。 ([kl]可以为控件名称,例如该控件可以是窗 体中的文本框控件)。
4. 添加操作命令
8.2.4 创建条件宏
创建一个根据口令验证的情况,打开 或关闭指定窗体的宏对象“用户口令 验证宏”,它是一个宏组,包含“确 定”和“取消”两个条件宏。
创建“确定”宏
1. 添加“宏名”与“条件”列
打开宏设计视图中,单击【宏名】与【条 件】按钮,在设计视图中添加“宏名”与“条
件”列。
2. 定义宏名
启动Access数据库,打开“汇科电脑公司数据库”数 据库,打开宏设计视图,在设计视图添加“宏名”列
(2)定义宏名
在宏设计视图中单击“宏名”列下的第1个空白单元 格,输入“打开输入客户订单窗口”作为宏名如图所 示。
(3)指定操作命令与操作参数
在“操作”列指定OpenForm(打开窗体)操作命令, 并指定操作参数,如图所示。
完成上述所有操作,“确定”宏就创建好 了,创建的宏如图所示。
创建“取消”宏
在设计视图中空一行,在第7行“宏名”
列单元格中输入“取消”。
在第7行“操作”列选择close命令,
“取消”宏就创建好了。
保存宏
单击工具栏【保存】按钮,保存宏组
名称为“口令验证”,创建的宏如图所示。
操作练习 1
创建宏
第8章 在Access中创建宏与模块
学习目标
了解宏的作用与类型 了解宏使用的主要操作命令 了解模块的作用 了解使用模块的方式 能够使用设计器创建宏 能够使用宏控制数据库对象
8.1 认识宏对象
8.1 认识宏对象
宏是Access专门提供的一种可以控制其他数据库对象、自 动执行某种操作命令的数据库对象。 与命令按钮不同的是,按钮只能执行一个命令,而宏可以 执行多个操作命令,使用宏可以一次完成多个操作任务。 使用宏可以提高数据库的使用效率,简化数据库的操作。 通过宏可以将表、查询、窗体、报表等数据库对象有机地
组织起来,建象的作用
1. 打开多个窗体或报表。
2. 自动查找和筛选记录。 3. 自动进行数据校验 4. 自动设置窗体、报表属性 5. 自定义工作环境
8.1.2 宏对象的类型
宏有三种类型:
1. 操作序列宏
2. 宏组
3. 条件宏
1.操作序列宏
操作序列宏是结构最简单的宏。宏中只包含按顺 序排列的各种操作命令,如图所示。 操作序列宏在使用时会按照从上到下的顺序执行 各个操作命令。
8.2 创建宏对象
创建宏只有一种方式就是使用
设计器,即在设计视图中创建。
8.2.1 认识宏设计视图
打开宏设计视图
启动Access数据库,打开“汇科电脑公司数据库” 数据库。
在数据库窗口“对象”栏选中【宏】对象,单 击工具栏上的【新建】按钮,可打开宏设计视 图。 与其他数据库对象不同,宏只有一种视图 模式,就是设计视图。
模块之所以功能强大,是因为它是使用VBA 编程语言创建的。VB,是微软公司推出的可视化 BASIC语言,用它来编程非常简单。因为它简单, 而且功能强大,所以微软公司将它的一部分代码结 合到Office中,形成了VBA编程语言。VBA的很多 语法继承自VB,所以,可以像编写VB语言那样来 编写VBA程序,以实现某个功能。当VBA程序编 译通过后,可将程序保存在Access中的一个模块里, 并通过类似在窗体中使用宏的方式来使用模块,从 而实现这个模块的功能。
8.1.3 宏使用的主要操作命令
操作命令名称 Beep Close GoToControl Maximize Minimize MsgBox OpenForm OpenReport PrintOut Quit RepaintObject Restore RunMacro SetValue StopMacro 通过计算机的扬声器发出嘟嘟声。 关闭指定的 Microsoft Access 窗口。如果没有指定窗口,则关闭当前活动窗口。 把光标移到打开的窗体、报表对象中指定控件上。 放大活动窗口,使其充满Access的主窗口。该操作可以使用户尽可能多地看到活动 窗口中的对象。 将活动窗口缩小为Access主窗口底部的一个小标题图标。 打开一个包含警告信息或其它信息的消息框。 打开一个指定的窗体,并可选择窗体数据输入及打开窗体的视图方式。 打开一个指定的报表,并可选择打开报表的视图方式。 打印当前数据库中的活动对象,如可以打印数据表、报表、窗体等。 关闭Access数据库。Quit 操作还可以指定在退出 Access 之前是否保存数据库对象。 更新指定数据库对象。如果没有指定数据库对象,则更新当前的活动数据库对象。 更新包括对象中的所有控件。 将处于最大化或最小化的窗口恢复为原来的大小。 运行指定的宏。 设置窗体、报表等对象上字段、控件的属性值。 停止正在运行的宏。 作用
2.宏 组
宏组由多个宏构成,它们用来共同完成一项任务, 放在一个组中便于管理与维护,如图所示。 在宏组中要为每个宏选取名字。
例如“口令验证”宏组包含了两个宏,分别为“确定” 与“取消”,通过带组名的宏名,例如“口令验证.确定”, 可以分别使用宏组中的宏。
3.条件操作宏
条件操作宏是指带有判定条件的宏。这类宏在运行之前先判 断条件是否满足,如果满足则运行宏,如果不满足,则不运 行宏。 如果宏的当前行条件不满足,会执行下一行的操作命令。 在宏的设计表格中,每行的“条件”设置只是对同一行的 “操作”命令有约束力,对其他行的操作不起条件约束。 如图所示为一个包含条件“口令验证宏”,如果口令正确, 关闭当前窗口、然后打开一个新窗口。否则,将执行下行的 操作,打开一个提示框。 宏的条件使用逻辑表达式来描述,表达式的真假结果决定是 否运行宏的操作命令。
为命令按钮指定宏
宏的使用
将视图切换到窗体视图,在文本框输入“12”,单 击【确定】按钮,将出现一个提示框,如图所示。如 果输入“1234”,将会打开“学生成绩查询信息”窗 体。
注 意
使用宏组中的宏要在宏名前 加.宏组名,例如,“口令验证. 确定”。 如果是单个宏,只要写宏名 即可使用宏。
操作练习 2
将宏连接到命令按钮上
在窗体设计视图中选中【确定】命令按钮。 单击工具栏【属性】按钮,打开“命令按钮”属 性对话框。 单击【事件】选项页,在“单击”属性框下拉列 表中选择“口令验证.确定”宏。 在窗体设计视图中选中选中【取消】命令按钮, 在其“事件”属性框中选择“口令验证.取消”宏。
8.3.1 模块的概念
模块是Access中一个重要的对象,它比宏 的功能更强大,运行速度更快,能直接运 行Windows的其他程序。 使用模块可以建立用户自己的函数、完成 复杂的计算、执行宏所不能完成的任务。 使用模块可以开发十分复杂的应用程序, 使数据库系统功能更加完善。
1.VBA
打开宏设计视图的方式
宏设计视图的组成
宏设计视图中默认有“操作”和“注释”列。
单击工具栏上的【宏名】按钮 和【条件】按钮 , 在设计视图中将出现“宏名”和“条件”列。再单 击【宏名】或【条件】按钮可取消该列。
宏的设计视图
上部分为设计器,包含“宏名”、“条件”、 “操作”和“注释”列。
(6)保存宏对象为“执行多个任务的 宏”。 (7)运行宏在工具栏单击【运行】 按 钮,在主窗口中将同时打开“输入客户 订单窗口”窗体、“外设价格”报表与 “物品”表。
8.2.3
创建宏组
操作实例 创建一个分别打开不同窗 体的名称为“打开窗体宏”的宏组。 操作步骤如下:
(1)打开宏设计视图
使用宏
请同学自己完成!
8.3 创建模块对象
模块是Access中一个重要的对象,它比宏的 功能更强大,运行速度更快,不仅能完成 操作数据库对象的任务,还能直接运行 Windows的其他程序。使用模块还可以建立 自定义函数,进行复杂的计算、执行宏所 不能完成的复杂任务。 本节的任务就是介绍如何创建与使用模块 对象。
在数据库窗口双击宏对象,或选中宏后单击工 具栏上的【运行】按钮。
2 .将宏联接到某一控件上
使用宏要将宏连接到某个控件上。 下面创建一个验证口令的窗体,说 明如何使用“口令验证”宏。
创建“口令验证”窗体
打开窗体设计视图,保存窗体为“口令验证”。
在窗体中添加一个名称为“kl”的未绑定文本框、 一个标签和两个命令按钮,窗体布局如图所示。
参数区会出现相应内容。
在“窗体名称”参数框的下拉列表中选择要打开的窗体, 这里选择的是“物品信息查询窗口”窗体。可同时在设计 视图右下角了解该参数的含义。
在“设计模式”参数框选择“编辑”。 在“窗口模式”参数框选择“普通”。 在第3行的“操作”列中选择StopMacro(结束当前宏的运 行)操作命令。表示打开窗体后,即可停止宏的执行了。 在第4行的“条件”列中输入逻辑表达式:[kl]<>"1234" Or [kl] Is Null,表示[kl]文本与“1234”不同,或者[kl]文 本为空。
8.2.2
创建操作序列宏
操作实例 创建一个同时打开窗体、 报表、表对象的宏对象“执行多个任 务的宏”。 操作步骤如下:
(1)打开宏设计视图
启动Access数据库,打开“汇科电脑公司数据库”数 据库,打开宏设计视图,如图所示。
(2)指定操作命令
在宏设计视图中单击“操作”列的空白单元格,单击 右边向下箭头按钮,会出现操作命令列表,从中选择 OpenForm(打开窗体)操作命令,如图所示。
请同学自己完成!