版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/2/11第二部分流行关系数据库使用-Access2010第七章(十)宏操作2023/2/12主要内容:宏概述宏的创建与设计宏的运行与调试宏的应用宏的触发一、宏概述Access共有50多种宏指令,它们和内置函数一样,可为应用程序的设计提供各种基本功能。可将宏看作是一种简化的编程语言。使用宏非常方便,不需要记住语法,也不需要编程,只需几个简单的宏操作就可以对数据库完成一系列操作。如果使用得当和写程序不相上下。2023/2/131、什么是宏宏是一个或多个操作的集合,其中的每个操作能够自动地实现特定的功能。将一定的操作排列成顺序,就构成了宏。在Access中,可以将宏看成一种简化了的编程语言,这种语言是通过选择一系列要执行的操作来编写的。编写宏无须记住各种语法,每个宏的操作参数都显示在宏的【设计视图】中,通过使用宏,无须在VBA模块中编写代码,即可向窗体、报表和控件中添加功能。通过运行宏,Access能够有次序地自动完成一连串的操作,包括各种数据、键盘或鼠标的操作。2023/2/14宏的【设计视图】:2023/2/152、宏的功能打开和关闭数据表、窗体、打印报表和执行查询。显示提示框、显示警告。实现数据的输入和输出。筛选、查找数据记录。在数据库启动时执行操作等。宏的功能几乎涉及了所有的数据库操作细节。2023/2/163、事件的概念事件过程是为响应由用户或程序代码引发的事件或由系统触发的事件而运行的过程。事件是指对象所能辨识或检测的动作,当此动作发生于某个对象上,其相对应的事件便会被触发。如果预先为此事件编写了宏或事件程序,则该宏或事件程序便会被执行。如用鼠标单击窗体上的按钮,该按钮的Click(单击)事件便会被触发,指派给Click事件的宏或事件程序也就跟着被执行。2023/2/174、宏的类型宏分三种类型:操作序列、宏组和包括条件的宏。Access的宏可以是包含操作序列的一个宏;也可以是一个宏组,宏组由若干个宏构成;还可以使用条件来决定在什么情况下运行宏,以及在运行宏时是否进行某项操作。2023/2/182023/2/19(1)操作序列例如,图1所示的宏是由一系列的操作序列组成的。每次运行宏时,Access都将执行这些操作。如果要运行该宏,只要在合适的地方引用宏的名称即可。图1:2023/2/1102023/2/111(2)宏组所谓宏组,就是在一个宏名下存储多个宏。如果存在着许多宏,那么将相关的宏分到不同的宏组有助于数据库的管理。宏组类似于程序设计中的【主程序】,而宏组中的【宏名】列中的宏类似于【子程序】,使用宏组可以增加控制,又可以减少编制宏的工作量。2023/2/112(3)条件宏某些情况下,仅在宏中特定条件为真时才执行一个或一系列操作。这时可以使用宏的条件表达式来控制宏的流程,这样的宏称为条件操作宏。例如,使用宏验证窗体中的数据,且需要在一个窗体中显示一个记录的值,而在另一个窗体中显示所有记录的值,这种情况下,可以使用条件来控制宏的流程。5、常用宏操作宏是一种特殊的代码,它没有控制转移功能,也不能直接操控变量。它是一种操作代码,以操作为单位,将一连串的操作有机地组合起来。在宏运行时,这些操作依次执行,若是有条件的宏,则按照条件进行操作。在宏中的每个操作可以携带自己的参数,但每个操作执行后没有返回值。2023/2/113(1)宏的操作分类操作数据类:用于操作窗体和报表中的数据,分为过滤操作和记录定位操作。如:ApplyFilter、GotoPage。执行命令类:用于执行命令、宏、查询和其他应用程序。如:RunCommand、Quit。导入导出类:实现Access与其他应用程序之间的共享(静态)。其他:用于维护Access的界面,包括菜单栏、工具栏、快捷菜单和快捷键的添加、修改和删除,错误信息的提示方式和响铃警告等。如:AddMenu,Echo,SetWarning等。2023/2/114(2)常用宏操作AddMenu:可以创建【加载项】选项卡下的自定义菜单,也可以创建右键菜单。该命令可用于窗体、报表或控件,也可以用于整个数据库。ApplyFilter:可以将筛选、查询应用到表、窗体或报表中,以便对基础表中的记录进行限制和排序。对于报表,只能在报表的OnOpen事件的嵌入式宏中使用此命令。Beep:使计算机的扬声器发出“嘟嘟”声。CancelEvent:取消一个事件。Close:关闭指定的Access窗口。若未指定窗口,则关闭当前活动窗口,可使用CloseDatabase命令来关闭当前数据库。2023/2/1152023/2/116EmailDatabaseObject:可将指定的数据表、窗体、报表、模块或数据访问页包含在电子邮件中,以便在其中进行查看和转发。FindRecord:可以查找符合参数条件的第一个数据实例。可以在数据表、查询、窗体数据表或窗体中查找记录。FindNextRecord:可以查找符合前一个FindRecord命令所指定条件的下一条记录。使用该命令可以重复搜索记录。GotoControl:可将焦点移至指定的字段或控件。当希望特定的字段或控件获得焦点时,可以使用此命令。例如,如果某个人信息数据表中包含有字段【婚否】、【配偶姓名】,若在【婚否】字段输入“否”,则焦点可以自动跳过【配偶姓名】,移至下一字段。2023/2/117GotoPage:可将活动窗体中的焦点移至指定页中的第一个控件。GotoRecord:可使打开的表、窗体或查询结果的特定记录成为当前活动记录。DisplayHourglassPointer:在宏执行时可以使鼠标指针变成沙漏图标或其他指定图标。MaxmizeWindow:最大化活动窗口。MinimizeWindow:将活动窗口缩小为Access窗口底部的一个小标题栏。MessageBox:可显示一个包含警告或提示性消息的消息框。OnError:可指定当宏出错时如何处理。OpenForm:可在窗体视图、设计视图、打印预览视图与数据表视图中打开一个窗体。OpenQuery:可在数据表视图、设计视图或打印预览视图中打开选择查询或交叉表查询。2023/2/118OpenReport:可在设计视图或打印预览视图中打开报表,或将报表直接发送到打印机。通过设置各种参数还可以限制报表中打印的记录。OpenTable:可在数据表视图、设计视图或打印预览视图中打开表。通过设置各种参数还可以选择该表的数据输入模式。QuitAccess:退出Access。ExportWithFormatting:实现对象的导出操作。Requery:可对活动对象上指定控件的数据源进行重新查询,以此实现对控件中的数据的更新。RunMacro:运行宏或宏组。使用该命令可以完成从其他宏中运行宏、根据条件运行宏、将宏附加到自定义菜单命令等任务。二、宏的创建与设计宏的创建方法和其他对象的创建方法略有不同。通常创建宏对象比较简单,因为不管是创建单个宏还是宏组,各种宏操作都是从Access提供的宏操作中选取,而不是自定义的。宏不能通过向导创建,只能通过设计视图直接创建。2023/2/1191、创建与设计单个宏在宏设计视图中选择需要的宏操作,并设置操作参数即可。例7-10-1:创建一个简单宏,要求打开教学管理数据库的student表,显示男生信息。2023/2/120选择【创建】选项卡,在【宏与代码】组中单击【宏】按钮:2023/2/121打开宏的设计视图窗口:2023/2/122从下拉菜单中选择“OpenTable”选项,并填写相关参数:2023/2/123选择筛选操作“ApplyFilter”选项:2023/2/124保存并命名宏:2023/2/125执行宏“显示男生信息”的结果:2023/2/1262、创建与设计宏组宏组是存储在同一个宏名下的相关宏的组合,它与其他宏一样可在宏窗口中进行设计,并保存在数据库窗口的导航窗格的【宏】组中。如果有多个宏执行不同的操作,则可将宏建立为不同的宏组,以方便数据库的管理和维护。例7-10-2:根据教学管理数据库,创建一个宏组,要求在运行该宏组时打开“学生选课及成绩信息”窗体,然后通过单击该窗体中的“退出系统”按钮,退出当前数据库。2023/2/127选择菜单【创建】—【宏】:2023/2/128在下拉菜单中选择“Submacro”:2023/2/129将子宏命名为“打开”,在子宏的添加菜单中选择“OpenForm”:2023/2/130向子宏“打开”添加了其他宏操作:2023/2/131添加子宏“关闭”:2023/2/132保存并命名为“宏组”:2023/2/133打开“学生选课及成绩信息”窗体设计视图,添加命令按钮:2023/2/134给命令按钮命名:2023/2/135右键单击命令按钮,选择属性:2023/2/136运行宏组打开窗体的效果:2023/2/1373、创建与设计条件宏某些情况下,可能希望当特定条件为真时,才在宏中执行一个或多个操作。例7-10-3:根据职工管理数据库,创建条件宏,要求运行宏时自动打开salary窗体,当修改或添加工资数据时,输入数据小于0时,系统自动给出提示。说明:本例使用的是嵌入式宏,这种方式创建的宏不能转换为VBA代码,而独立宏可以转换。2023/2/138打开“salary”窗体设计视图,右键单击“基本工资”文本框:2023/2/139打开【事件】选项卡,单击【更新后】文本框右侧的按钮,在【选择生成器】对话框中选择【宏生成器】选项:2023/2/140打开宏设计窗口,选择IF宏:2023/2/141添加IF宏:2023/2/142添加MessageBox宏:2023/2/143保存宏之后回到“salary”窗体设计视图,显示嵌入的宏:2023/2/144返回窗体视图,输入错误数据之后显示提示框:2023/2/145课堂练习一:根据edu1数据库操作。1、创建一个独立宏。查看计算机系学生的信息。2、创建一个嵌入式宏。在根据teacher表创建的教师窗体中添加一个命令按钮,对其单击事件建立宏,查看计算机系教师信息。3、创建一个条件宏,当向sele_course表输入学生成绩信息时,如果成绩小于0大于100,则弹出出错信息提示框。2023/2/146三、宏的运行与调试创建宏之后即可以在需要时调用该宏。设计完成的宏或宏组并不一定总是正确的,因此在宏的设计过程中,还可以对宏进行调试。调试宏的目的即找出宏的错误原因和出错位置,以便使设计的宏操作能达到预期的效果。2023/2/1471、运行宏(1)独立宏的执行直接运行宏:在导航窗格的【宏】组中双击宏名即可。从宏组中运行宏:选择【数据库工具】选项卡,在【宏】组中单击【运行宏】按钮,打开【执行宏】对话框,从中选择执行相应的宏。从另一个宏中运行宏:进入【宏生成器】,在空白操作行的操作列表中选择RunMacro操作命令,将【宏名称】参数设置为要运行的宏名称即可。2023/2/1482023/2/149从宏组中运行宏从另一个宏中运行宏(2)嵌入式宏的执行对于嵌入在窗体、报表或控件中的宏,执行方法较少,主要是通过响应窗体、报表或控件中事件的形式运行宏。这种方法就是嵌入式宏的工作方法,在窗体或报表中发生设定的事件时,如果条件满足,就会触发执行相应的宏。2023/2/1502、调试宏对宏进行调试,可以采用单步调试方式,即每次只执行一个操作,以便观察宏的流程和每一步操作的结果,便于分析出错的原因并加以更正。例7-10-4:在教学管理数据库中,创建“打开窗体”宏,添加OpenForm宏操作,并在【窗体名称】参数处随意输入一个数据,如输入“1”。试用单步调试功能对该宏进行调试并修改错误。2023/2/151创建宏:2023/2/152命名并保存宏:2023/2/153选择单步、运行宏:2023/2/154【单步执行宏】对话框:2023/2/155单击【单步执行】按钮后出现提示框:2023/2/156显示错误号:2023/2/157单击【停止所有宏】按钮,返回宏设计窗口,重新修改该步操作。2023/2/158四、宏的应用1、将宏加到窗体和报表宏的一个常见用途是将宏链接到窗体或报表。可从数据库导航窗格拖动宏到窗体的设计画面上增加一个命令按钮。在完成的窗体中单击该按钮时,即运行该宏。还可通过在窗体或报表的各个属性中命名宏连接到窗体或报表。例7-10-5:在教学管理数据库中,打开“学生信息”窗体设计视图,添加“显示男生信息”宏。将宏“显示男生信息”从导航窗格拖动到“学生信息”窗体的设计视图中:2023/2/159切换到窗体视图:2023/2/160单击“男生信息”按钮之后的结果:2023/2/1612、使用邮件发送Access对象可以创建邮件宏,用于发送数据表、窗体、报表或模块等Access对象。例7-10-6:创建一个邮件宏,将教学管理数据库中的student表作为邮件发送内容。2023/2/162设置EMailDatebaseObject宏:2023/2/163执行邮件宏:2023/2/1644、实现Access对象的导出可以根据需要将Access对象导出到其他位置。例7-10-7:创建一个导出宏,将教学管理数据库中的student表导出为Excel工作簿。2023/2/165设置ExportWithFormating宏:2023/2/166执行导出宏:2023/2/1672023/2/1685、用Autoexec宏启动应用程序一旦各个功能实现后,往往需要在数据库打开时自动启动应用的欢迎界面。可以通过Autoexec宏实现。Autoexec宏也是一个宏,只是名字为Autoexec,系统会在打开数据库时自动启动它。要建立自动启动宏,首先要设计欢迎界面窗体,然后建立一个新宏,在宏中选择OpenForm,在动作参数的“窗体名称”下,选择作为启动的窗体。在给该宏起名字时命名为Autoexec。若禁止启动宏,则在打开数据时按住Shift键。例7-9-6:在教学管理数据库中创建一个自动宏,打开“切换面板”窗体2023/2/169命名宏为“autoexec”:2023/2/170打开“教学管理”数据库,自动执行autoexec宏:2023/2/171直接打开“切换面板”窗体:2023/2/1722023/2/173六、宏的触发在窗体或者报表中运行宏,实际上是利用触发宏的事件属性来运行宏的。事件是一种特定的宏,在某个对象上发生或对某个对象发生。Access可以响应多个事件,如单击、更改、更新前、更新后等。事件的发生通常是用户操作的结果。通过使用事件过程,可以为窗体、报表或控件上发生的事件添加自定义的事件响应。宏运行的前提是有触发宏的事件发生。根据任务类型,事件类型可分为Data(数据处理)事件、Focus(焦点)事件和Keyboard(键盘)事件。1、Data事件Data事件即数据处理事件。当窗体或控件中的数据被更改或删除时,或当焦点从一条记录移动到另一条记录时,将发生Data事件。2023/2/174Data事件及功能说明事件名称事件属性说明AfterDelConfirm窗体在确认删除操作且在记录已被删除或删除操作取消之后发生AfterInsert窗体发生在插入一条新记录之后AfterUpdate窗体和控件发生在控件和记录的数据被更新之后BeforeDelConfirm窗体发生在删除一条或多条记录后,但在确认删除之前BeforeInsert窗体发生在开始向新纪录写第一个字符,但记录还未添加到数据库时BeforeUpdate窗体和控件发生在控件和记录的数据被更新之前change控件发生在文本框或组合框的文本部分内容更改时Current窗体当把焦点移动到一个记录,使之成为当前记录时发生Delete窗体发生在删除一个记录时,但在确认之前Dirty窗体一般发生在窗体内容或组合框部分内容被改变时NotInList控件发生在输入一个不在组合框列表中的值时Updated控件发生在当OLE对象被修改时2023/2/1752、Focus事件Focus事件即焦点事件,该类型事件与焦点改变相关,当窗体或控件失去或获得焦点时,或者窗体或报表成为激活状态时,发生该事件。2023/2/176Focus事件及功能说明事件名称事件属性说明ActivateOnActivate(窗体和报表)当窗体或报表等窗口变为当前活动窗口时发生DeactivateOnDeactivate(窗体和报表)发生在其他Access窗口变成当前窗口时EnterOnEnte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务管理标准推行计划
- 娱乐休闲行业前台服务心得
- 互联服务销售工作总结
- 电商仓库管理员服务职责
- 纺织原料采购工作总结
- 语言学校前台工作总结
- 水产加工厂保安工作总结
- 第二单元 一年级下教案
- 2023年四川省德阳市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2022年江苏省宿迁市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 国内外天然植物染料的应用及发展现状
- 安徽省马鞍山市2023-2024学年高一上学期期末考试物理试题(含答案解析)
- 心理健康对学生学习成绩的影响
- 食品生产企业员工食品安全培训
- 小学数学综合素质评价专项方案
- 模型预测控制现状与挑战
- 闽教版2023版3-6年级全8册英语单词表
- MOOC创新创业与管理基础(东南大学)
- 华为财务分析报告
- 快速出具旧机动车评估报告
- 人员保有培训课件
评论
0/150
提交评论