ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:910.77KB ,
资源ID:1342943      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1342943.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(宏编程教学内容.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

宏编程教学内容.docx

1、宏编程教学内容宏编程第8章 宏迄今为止我们已经学会直观地按步骤进行数据库操作。我们平时的操作可归结为,用鼠标或键盘选择特定的数据库对象,从菜单选择该对象的某个操作,根据前一步操作后对象的变化选择下一操作,一步步达到目标。久而久之,我们会形成一些习惯和套路,把它们记录下来就是宏程序简称宏。宏主要是对我们已经掌握的那些鼠标、键盘操作的记录和模仿。8.1 宏的概念8.3.1 宏指令与宏编程宏指令系统是指由数十个指令构成的一种简单的编程中介语言。用这种指令系统记录的操作步骤就是宏。编制这样的简单程序叫做宏编程。宏程序记录了一些操作套路或模式,将它们与对象(各种控件和数据)相联系,类似“傻瓜”相机把摄影

2、专家的路数凝结为相机上几个按钮,一是内行可以省去重复之繁,二是外行可以省去学习之苦。宏编程建立在深刻理解各种数据库对象和相关操作的基础之上,标志着高效、灵活使用数据库的新阶段。与所有指令系统相似,一条宏指令通常由操作代码与操作参数组成。与一般编程语言不同的是,宏程序以对话填表的方式产生,以表格的形式保存,所以容易学习记忆,不容易产生语法错误。但我们一定要了解这些宏指令的分工和填表的详细要求,否则这种本来就简单的语言难以发挥功效。少数宏可独立运行,但通常宏都由菜单、窗体、报表等控件的鼠标控制事件(进入、单击之类)或某些数据变化事件(改写、删除之类)触发启动其他面向对象的高级语言程序也大致如此。要

3、掌握宏编程,必须熟悉一些常见的事件机制,分辨它们的微妙差异。宏的操作参数和操作条件总与菜单、窗体、报表等控件或数据的状态变化相联系,这就产生了对它们怎样称呼的问题术语叫作“对象引用”。好在Access有一个很方便的“表达式生成器”,可通过它解决大多数的对象引用问题。总而言之,宏编程就是把一些宏操作指令序列和特定的数据对象、控制对象联系起来,灵活地让Access在特定的时间,特定的地点,对特定的对象,实现特定的操作。8.3.2 宏与 Visual Basic宏程序依赖几十条指令,表现力受到局限。Office提供了一种叫做VBA的Visual Basic方言,具备更强的表现力。在VBA中宏指令都有

4、其对应的形式。事实上,宏指令系统是一种中介语言,宏指令都是翻译成VBA才得以执行的。宏以表格的形式保存,以解释的方式转换为机器语言,所以安全性不太好,效率不太高。Access提供了工具,必要时可将宏转换为VBA代码,一则源文件可以加密,二则当mdb文件编译为mde文件可提高执行效率。8.2 宏编程入门8.3.3 宏的初步设计前面说到,宏一般都由控件触发,所以宏设计通常有3步:控件准备,宏编程,触发设置。以下以实例说明。【例8-1】 设计一个“打开表”窗体,上面有若干个按钮分别代表学生数据库的若干表,再自定义一个工具栏,上面有“打开表”按钮。这样用户点击工具栏上按钮后就知道怎样访问他想操作的表了

5、。一 控件准备步骤1: 设计“打开表”窗体,该窗体上有三个命令按钮,如图8-1所示。 图8-1 新建“打开表”窗体步骤2: 新建工具栏test1:单击“工具|自定义|新建”菜单命令,结果如图8-2所示。图8-2 新建工具栏test1步骤3: 拖动窗体对象“打开表”到test1工具栏, 如图8-3所示。图8-3 拖动窗体对象“打开表”到test1工具栏二 宏编程步骤4: 3单击“操作”栏在数据库窗口的对象栏“表、查询页”之下,选择“宏”对象,按下“新建”按钮,自动产生暂名“宏1”的宏设计界面,点击“操作”栏即可打开宏指令的下拉菜单选择操作(如果用键盘输入宏指令的前一两个字母,可更快速地找到所需操

6、作),如图8-4。 图8-4 宏设计窗口步骤5: 我们的设计目标是打开表,所以在第1行“操作”选择“Opentable”指令,下面的“操作参数”对话框将自动展开。参数对话的目的是以填表的方式说明操作对象的名称以及操作方式等。右边方框中的蓝色文字简单说明填表要求,更详尽的说明可按功能键F1得到。 本例我们只须填写“表名称”一格,选取“学生”表,其他遵从默认选择。填表的方式多是从下拉菜单选取项目,有时需键盘直接输入。现在一个简单的宏程序已经建立,将它保存为“打开学生”,如图8-5所示。按下此按钮,选取表图8-5 使用Opentable指令建立“打开学生”宏步骤6: 以相同方式建立宏“打开成绩”、“

7、打开课程”,最后得到3个宏程序如图8-6所示。 图8-6 建立的三个宏程序三 触发设置步骤7: 点击自定义test1工具栏“打开表”按钮,情形如下。任你单击、双击、右击窗体控件,除了按钮形状改变,什么事情也没发生。这是因为当这些对象的鼠标事件发生时,系统检测它们的属性表,没有发现已经定义的操作与之相联系。步骤8: 按下系统工具栏图标,进入窗体设计视图。选中“学生”按钮,从右菜单选择“属性”(一般地,所有对象都可以先选中它们,再右击打开属性表)。在属性表“事件”栏你会看到有这么多的事件“扳机”可以与程序关联。你可以试着把宏程序“打开学生”挂在其中一个“扳机”上点击表格右侧的下拉菜单按钮,选择 “

8、打开学生”宏即可,如图8-7所示。运行后你会发现,对于命令按钮控件,有几个“扳机”挂上程序效果相似:“单击”/“鼠标按下”/“鼠标释放”。原因很简单,“单击”可以分解为“鼠标按下”+“鼠标释放”。图8-7 为命令按钮的“单击”事件指定宏步骤9: 设置完其他按钮的相关事件触发程序,按下系统工具栏原位置的图标,运行效果如图8-8所示。关闭保存窗体“打开表”,设计完成。图8-8 运行“打开表”窗体按下“学生”按钮8.3.4 宏组的使用一个实用的数据库应用系统涉及很多表、查询、窗体、报表等对象,要把用户所需要的功能以“傻瓜”相机的方式提供出来,需要许多宏程序。如果每个宏都独立成一个“准文件”(形式上整

9、个mdb数据库才构成1个文件),最后我们会眼花缭乱,很难统一维护管理。所以Access提供了宏组这样一种形式,以便把同一应用涉及的一系列相关宏放在一个功能类似文件夹的“准文件”中。对的引用现在改为. 。【例8-2】 改进【例8-1】“打开表”窗体,上面有更多按钮分别代表学生数据库的若干表,再增加一个关闭窗体的按钮,如图8-9所示。要求把该应用所涉及的宏统一放在宏组“打开表”中 图8-9 增加了4个命令按钮的“打开表”窗体步骤1: 修改窗体,增加“课程表”、“教师”和“教室”3个命令按钮(可利用原来3个按钮复制粘贴后修改)。步骤2: 删除原有宏,新建名为“打开表”的宏组如下图。注意“打开表”左边

10、多了“宏名”一列,鼠标右键单击宏设计窗口深色标题栏,即可在快捷菜单中打开/关闭此列。“打开表”宏组由7个宏构成,如图8-10所示。“打开表”宏组由7个宏组成图8-10 创建“打开表”宏组步骤3: 重新设置窗体“打开表”各控件的事件属性。注意原来按钮“学生”单击事件引用的宏名为“打开学生”,现在改为“打开表.打开学生”,意为检测到单击事件时,执行宏组“打开表”中宏名为“打开学生”的宏程序,如图8-11所示。照例设置其他按钮。现在可以再运行。 图8-11 为窗体的各命令按钮的“单击”事件指定宏组中的宏8.3.5 带条件的宏有些指令序列是否执行要看某条件表达式当时是否取真值。这样的程序结构通常叫分支

11、结构。一般程序语言都有顺序、分支、循环三种结构。宏程序的分支通常由、StopMacro结构实现。程序代码的重复(循环)使用,必要时由带条件的RunMacro指令引用一个子程序宏实现。宏指令系统的分支、循环结构不发达,所以尤其要研究条件宏的特殊表达方式,以提高宏程序的表现力。在Access中,运行宏或宏组时可以设置某些限定的条件,使得宏或宏组在特定条件下触发。【例8-3】 建立“密码验证”窗体,并为它编一个最简单的验证程序,程序逻辑是:如果密码输入正确,关闭验证窗体,否则显示信息“密码错误”,继续输入密码。一 控件准备步骤1: 设计窗体如图8-12所示。注意文本框和按钮的名称为密码、确认,下面的

12、宏引用要与此一致。(调试完程序后,密码文本框要设置密码型掩码,以防输入时被人窥视) 图8-12 设计“密码验证”窗体二 宏编程步骤2: 在数据库窗口的对象栏选择“宏”,按下“新建”按钮,自动产生暂名“宏1”的宏设计界面(注意:左边除了“宏名”列,还有“条件”列。鼠标右键单击宏设计窗口深色标题栏,即可在快捷菜单中打开/关闭此列,如图8-13所示。步骤3: 输入第1行,其意思是当表达式“密码=007”取真值(“Yes”)就关闭当前窗口。(Close指令如不填写对象类型,对象就是窗口,不填写对象名称,对象就是当前窗口)。图8-13 建立带条件的“密码”宏步骤4: 输入第2、3行,如图8-14所示。第

13、2行条件中的“”表示条件同上,意思是当“密码=007”,执行完第1句接着执行本句StopMacro指令表示本分支结束,中断其他指令。只有前2句条件列取值为假(“No”:前两句不执行),第3句代表的另一分支才有机会执行MsBox指令表示显示信息窗口,“消息”参数填写显示内容“密码错误”,其他参数都是可选项。这样3句话构成2个分支,要么执行1、2(密码正确)句, 要么执行3句(密码错误)。这里StopMacro中断指令很关键,关闭该句(把“”改为“No”),程序逻辑将改为:如果条件为真执行1、3句,否则执行3句。现在编程完毕,保存为“密码”宏。图8-14 完成的“密码”宏三 触发设置步骤5: 设置

14、“确认”按钮的“单击”事件,如图8-15所示:图8-15 设置“确认”按钮的“单击”事件步骤6: 试运行效果如图8-16所示。图8-16 密码填写错误时的运行结果【例8-4】 建立一完整的密码管理窗体,如图8-17所示, 该窗体的记录源为个人密码表, 结构为_密码表(学号,姓名,班级,口令)。可以在工具|启动界面设置它为启动后自动打开,以保证某数据库(如个人作业)安全。拥有密码者有权更改密码。管理员(如布置作业的老师)有最高密码(此处为“007”)。图8-17 完成后的密码管理窗体一 控件准备设计“密码管理”窗体如图8-18所示。窗体记录源:密码表. 口令。窗体上有一未绑定文本框计数器(可见性

15、:否,默认值:1)。其他3个文本框为:密码、新密码、重复。图8-18 完整的密码管理窗体设计视图二 宏编程:“密码管理”图8-19 “密码管理”宏组的设计在图8-19中,验证、修改、出错3个宏之间的空行完全是为了可读性,系统并不需要空行分隔各宏,遇到下一宏名自然知道前一个宏已经结束。StopAllMacros可中断并跳出嵌套宏,在没有嵌套时,作用等同StopMacro 。(提示:StopMacro/ StopAllMacros还可用于调试程序时设置断点)为了不重复,将“验证”、“修改”都使用的代码独立编为“出错”子程序宏,使用这段代码时运用RunMacro (参数:宏名)指令。(提示:必要时运用带的RunMacro可实现程序的有条件循环)密码 in (口令,”007”)x In (元素1,元素2元素n)是一种集合表达方式,表示x属于该集合,集合成员间是“或”关系。字段名 加方括弧是引用对象名的规范,作用是防止与字符串常量(如“口令”)混淆。(提示:xNot In (元素1,元素2元素n)则表示x不属于该集合)这里出错信息采用了复杂字符串表达式:“=超过三次错误将退出ACC

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1