




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章宏Access数据库基础及应用教程(第4版)第七章宏教学知识点宏的概念宏的种类宏的运行宏的命令
7.1.1宏的定义和作用
宏是由一个或多个操作组成的集合。每个操作都由命令来完成,而命令均由Access预先定义。例如:“OpenForm”命令表示打开某个窗体。宏可以是包含操作序列的一个宏,也可以是包含多个操作序列的宏组。将多个相关的宏操作序列存放到一个宏组内,有助对数据库的管理。可以在宏中设置条件,控制宏操作在一定的条件下执行。从基本结构来讲,宏由宏名、条件、操作和操作参数组成。其中,宏名是宏的名称;条件用来限制宏操作的执行;操作用来定义或选择要执行的宏操作;操作参数是宏操作的必要参数。
7.1宏的概述
7.1.2宏的设计视图
宏设计窗体包括宏的设计视图窗口和“操作目录”窗口。“操作目录”窗口用于选择宏的控制流程和宏操作命令。
1.程序流程(1)注释从“操作目录”中可以拖动一个“注释”到宏设计视图中,然后填写注释文字,这些文字将用来帮助说明每个操作的功能,以便于以后对宏的修改和维护。
(2)分组“分组”是指对宏中的语句按照类别或功能将相关操作分为一组,并为该组指定一个有意义的名称,用于描述这个语句的主要功能,从而提高宏的可读性。“Group”块不会影响操作的执行方式,组不能单独调用或运行。分组的主要目的是标识一组操作,帮助用户清楚地了解宏的功能。每个分组都可以折叠和展开,在编辑大型宏时,可将每个分组块向下折叠为单行,从而减少滚动操作。(3)条件通过“条件”可以在宏中加入分支选择功能,按照满足的条件执行不同的分支。(4)子宏
一个宏对象是Access中的一个容器对象,其中可以包含若干个子宏,而每一个子宏是由若干个操作组成,可以将若干个子宏定义在一个宏对象中对其进行统一分类管理。2.操作“操作”中分类列出了常用的宏命令,可以将这些宏命令直接拖动到宏设计视图的相应位置来添加宏操作。3.在此数据库中“在此数据库中”列出了包含嵌入宏在内的所有宏对象,展开后可以编辑和查看宏代码。7.1.3常用宏命令命令类型操作说明窗口管理CloseWindow关闭指定的窗口,如果无指定窗口,则关闭激活的窗口。MaximizeWindow最大化激活窗口是它充满MicrosoftAccess窗口。MinimizeWindow最小化激活窗口使之成为MicrosoftAccess窗口底部的标题栏。MoveAndSizeWindow移动并调整激活窗口。RestoreWindow将最大化或最小化窗口还原到原来的大小。宏命令CancelEvent取消导致该宏运行的事件。ClearMacroError清除MacroError对象中的上一错误。Echo隐藏或显示执行过程中的宏的结果OnError定义错误处理行为。OpenVisualBasicModule打开指定的VisualBasic模块。RemoveAllTempVars删除所有临时变量。RemoveTempVar删除一个临时变量。RunCode执行VisualBasicFunction函数,如果要执行Sub过程则通过Function调用该过程。RunDataMacro运行数据宏。RunMacro执行一个宏。可用该操作从其他宏中执行宏、重复宏,基于一个条件执行宏,将宏附加到自定义菜单命令。宏命令RunMenuCommand执行MicrosoftAccess菜单命令。SetLocalVar将本地变量设置为给定值。SetTempVar将临时变量设置为给定值,可在后续操作或其他宏、事件过程、窗体报表中使用该变量。SingleStep暂停宏的执行并打开“单步执行宏”对话框。StartNewWorkflow为项目启动新工作流。StopAllMacros停止所有正在运行的宏。StopMacro停止当前正在执行的宏。WorkflowTasks显示“工作流任务”对话框。筛选/查询/搜索ApplyFilter在表、窗体或者报表中应用筛选条件。FindNextRecord查找符合FindRecord操作的下一条记录。FindRecord查找符合指定条件的第一条或下一条记录。OpenQuery打开选择查询或交叉查询。Refresh刷新视图中的记录。RefreshRecord刷新当前记录。RemoveFilterSort移除当前筛选。Requery通过重新查询控件的数据源,来更新活动对象控件中的数据。RunSQL执行指定的SQL语句。SearchForRecord基于某个条件在对象中搜索记录。SetFilter在表、窗体或者报表中应用筛选条件。SetOrderBy对表中的记录或来自窗体、报表中的记录应用排序。ShowAllRecords清除筛选条件,显示所有记录。数据导入/导出AddContactFromOutlook添加Outlook中的联系人CollectDataViaEmail在Outlook中使用HTML或InfoPath表单收集数据。EMailDatabaseObject将指定的数据对象包含在电子邮件信息中。ExportWithFormatting将指定数据对象中的数据输出为MicrosoftExcel(.xls)、格式文本(.rtf)、MS-DOS文本(.txt)、HTML(.htm)或快照(.snp)格式。ImportExportData从其他数据库导入数据、从当前数据库导出数据。ImportExportSpreadsheet从电子表格导入数据、向电子表格导出数据。数据导入/导出ImportExportText从文本文件导入数据、向文本文件导出数据。ImportSharePointList从SharePoint网站导入或链接数据。RunSavedImportExport运行所选的导入或导出规格。SaveAsOutlookContact将当前记录另存为Outlook联系人。WordMailMerge执行“邮件合并”操作。数据库对象CopyObject复制数据库对象。DeleteObject删除数据库对象。GoToControl将焦点移到激活数据表或窗体上指定的字段或控件上。GoToPage将焦点移动到激活窗体指定页的第一个控件上。GoToRecord跳转到指定的记录上。OpenForm在窗体视图、窗体设计视图、打印预览或数据表视图中打开窗体。OpenReport在设计视图或打印预览视图中打开报表或立即打印该报表。OpenTable打开指定的数据表。PrintObject打印当前对象。PrintPreview预览当前对象。RenameObject重命名当前数据库中指定的对象。RepaintObject重新绘制对象。SaveObject保存指定的对象。SelectObject选择指定的数据库对象。SetProperty设置控件的属性。SetValue为控件、字段或属性设置值。数据输入操作DeleteRecord删除当前记录。EditListItems编辑查阅列表中的项。SaveRecord保存当前记录。系统命令Beep使计算机发出嘟嘟声。CloseDatabase关闭当前数据库。DisplayHourglassPointer将鼠标状态设置为沙漏形状,宏完成后恢复正常光标。OpenSharePointList浏览SharePoint列表OpenSharePointRecycleBin查看SharePoint网站回收站。PrintOut打印激活的数据库对象。QuitAccess退出MicrosoftAccess。可选择一种保存选项。RunApplication启动一个应用程序。SendKeys将按键发送到键盘缓冲区。SetWarnings打开或关闭所有的系统消息。用户界面命令AddMenu将自定义菜单栏添加到窗体或报表中。BrowseTo将子窗体的加载对象更改为子窗体控件。LockNavigationPane用于锁定或解锁导航窗格。MessageBox显示警告或提示对话框。NavigateTo定位到指定的“导航窗格”组和类别。Redo重复最近的用户操作。SetDisplayedCategories用于指定要在导航窗格中显示的类别。SetMenuItem设置自定义菜单上的菜单项状态(启用或禁用,选中或不选中)。ShowToolbar显示或隐藏内置工具栏或自定义工具栏。UndoRecord撤销最近的用户操作。7.1.4宏的种类1、按功能分类在Access2010中,按照宏的功能分类,可将宏分为:用户界面宏、嵌入宏、数据宏。(1)用户界面宏在MicrosoftAccess2010中,附加到用户界面(UI)对象(例如命令按钮、文本框、窗体和报表)的宏(用来自动执行任务的一个操作或一组操作)称为用户界面宏。此名称可将它们与附加到表的数据宏区分开来。使用用户界面宏可以自动完成一系列操作(操作:宏的基本组成部分;这是一种自含式指令,可以与其他操作相结合来自动执行任务。在其他宏语言中有时称为命令。),例如打开另一个对象、应用筛选器、启动导出操作以及许多其他任务。(2)嵌入宏嵌入宏是嵌入在对象的事件属性中的宏。此类宏不会显示在导航窗格中,但可从一些事件(例如OnLoad或OnClick)调用。由于宏将成为窗体或报表对象的一部分,因此建议使用嵌入的宏来自动执行特定于特定的窗体或报表的任务。(3)数据宏数据宏是Access2010中新增的一项功能,该功能允许您在表事件(如添加、更新或删除数据等)中添加逻辑。数据宏类似于MicrosoftSQLServer中的“触发器”。2、按执行流程分类按照宏的执行流程分类,可将Access2010中的宏分为:简单宏(顺序宏)、条件宏、子宏。(1)简单宏简单宏由一条或多条简单的操作组成,执行简单宏时按照顺序依次执行其中的操作,直到所有操作执行完毕为止。可以为简单宏添加注释,也可以对简单宏操作进行分组。(2)条件宏条件宏通过条件的设置来控制宏的执行。在“条件”中输入条件表达式,如果表达式的结果为“真”,则执行该行的操作。(3)子宏一个宏对象是Access中的一个容器对象,其中可以包含若干个子宏,而一个子宏又是由若干个操作组成。将若干个子宏设计在一个宏对象中,其中的每个子宏按照“子宏名”名称来标识,这样不仅减少了宏的个数,而且可以方便地对数据库中的宏进行分类管理和维护。宏中的每个子宏都能独立运行,互相没有影响。7.2宏的创建与应用
7.2.1简单宏例7-1创建一个简单宏。首先打开“教师”窗体,并显示“肖莉”的记录。操作步骤如下:(1)在“创建”选项卡上的“宏与代码”选项组中,单击“宏”按钮。(2)在如图所示的“宏”设计窗口中,在“添加新操作”组合框中选择“OpenForm”命令,“窗口名称”选择“教师”。(3)在“添加新操作”组合框中选择“FindRecord”,在“查找内容”中输入“肖莉”,在“只搜索当前字段”中选择“否”,其他设置使用默认值,如图所示。(4)点击快速访问工具栏中的“保存”按钮
,在弹出的对话框中输入宏名,点击“确定”按钮保存。(5)在点击“设计”选项卡上的“运行”按钮,运行结果如图所示。例7-2为宏添加注释。首先显示一个提示对话框,然后打开“学生”窗体,显示所有女学生的记录。操作步骤如下:(1)在“创建”选项卡上的“宏与代码”组中,单击“宏”。(2)打开如图所示的“宏”设计窗口,在“添加新操作”组合框中选择“MessageBox”命令,在“消息”中输入“所有女学生的资料”,“类型”中选择“信息”,“标题”中输入“提示信息”。(3)在“添加新操作”组合框中选择“OpenForm”,“窗体名称”选择“学生”,“当条件”输入“性别=’女’”,“数据模式”选择“只读”。(4)在“程序流程”中选择“Comment”,拖动到宏设计窗口中的“MessageBox”命令前,并填写注释“该宏首先显示一个对话框提示用户要显示所有女生的信息”。再拖一个注释到“OpenForm”命令前,注释内容为“打开学生窗体,设置过滤条件使得窗体中只显示女生的记录”,如图所示。(5)点击快速访问工具栏中的“保存”按钮
,输入宏名,点击“确定”按钮保存。(6)在点击“设计”选项卡上的“运行”按钮,运行创建的宏。例7-3对宏操作进行分组。首先显示一个提示对话框,然后打开“学生”窗体,显示所有女学生的记录。将相关操作分为一组,并为该组指定一个有意义的名称,可以提高宏的可读性。例如,可将打开和筛选窗体的多个操作分为一组,并将该组命名为“打开和筛选窗体”。这使用户可以更轻松地了解哪些操作是互相相关的。“Group”块不会影响操作的执行方式,组不能单独调用或运行。分组的主要目的是标识一组操作,帮助用户一目了然地了解宏的功能。此外,在编辑大型宏时,可将每个分组块向下折叠为单行,从而减少必须进行的滚动操作。操作步骤如下:(1)在“程序流程”中选择“Group”,拖动到宏设计窗口中,名称中输入“提示信息”,如图所示。(2)在“添加新操作”组合框中选择“Beep”。(3)在“添加新操作”组合框中选择“MessageBox”命令,在“消息”中输入“现在立即退出系统”,“类型”中选择“信息”,“标题”中输入“退出提示”。(4)在“程序流程”中选择“Group”,拖动到宏设计窗口中,名称中输入“退出系统”,(5)在“添加新操作”组合框中选择“QuitAccess”命令,在“选项”中选择“全部保存”,如图所示。(6)可以对每个分组进行折叠和展开操作,以便查看和隐藏信息,如图7-10所示。7.2.2嵌入宏
嵌入宏是指嵌入在对象的事件属性中的宏。创建嵌入宏的操作步骤如下:(1)在导航窗格中,右键单击将包含宏的窗体或报表,然后单击“布局视图”。(2)如果属性表未显示,按F4显示。(3)单击包含要在其中嵌入该宏的事件属性的控件或节。也可以使用属性表顶部的“所选内容的类型”下的下拉列表选择该控件或节(或者整个窗体或报表)。(4)在“属性表”任务窗格中,单击“事件”选项卡。单击要为其触发宏的事件的属性框。例如,对于一个命令按钮,如果希望在单击该按钮时运行宏,单击“单击”属性框。7.2.3条件宏条件宏是指通过条件的设置来控制宏的执行。在“条件”中输入条件表达式,如果表达式的结果为“真”,则执行该行的操作。例7-4建立一个条件宏。首先弹出一个对话框询问用户是否要退出系统,如果选择“是”则关闭正在使用Access数据库。操作步骤如下:(1)在“创建”选项卡上的“宏与代码”选项组中,单击“宏”按钮。(2)在“设计”上下文选项卡的“显示/隐藏”选项组中,单击“操作目录”按钮,打开操作目录,从中拖动“If”到宏设计窗口。(3)点击“If”条件的表达式生成器按钮,在弹出的“表达式生成器”窗口输入“MsgBox("您确信要退出吗?",4,"提示")=6”,如图所示。(4)在Then后面的“添加新操作”组合框中选择“QuitAccess”,如图所示。(5)点击快速访问工具栏上的“保存”按钮,输入宏名,点击“确定”按钮保存。(6)在点击“设计”选项卡上的“运行”按钮,运行创建的宏。例7-5建立一个多语句条件宏。打开“学生”窗体并最大化,弹出一个对话框,询问用户是否设置窗体的背景颜色和标题,如果用户选择“是”,将窗体的背景颜色设置为随机颜色,窗体的标题设置为“欢迎使用学生窗体”。操作步骤如下:(1)在“创建”选项卡上的“宏与代码”组中,单击“宏”。(2)在“添加新操作”组合框中选择“OpenForm”,“窗体名称”选择“学生”,如图所示。(3)在“设计”上下文选项卡的“显示/隐藏”选项组中,单击“操作目录”按钮,打开操作目录,从中拖动“If”到宏设计窗口中。(4)点击“If”条件的表达式生成器按钮,在弹出的“表达式生成器”窗口中输入“MsgBox("需要设置窗体颜色和标题吗?",4)=6”,在Then后面的“添加新操作”组合框中选择“MaximizeWindow”,如图所示。(5)在“添加新操作”组合框中选择“SelectObject”,“对象类型”选择“窗体”,“对象名称”选择“学生”,“在数据库窗口中”选择“否”。(6)在“添加新操作”组合框中选择“SetProperty”,“控件名称”输入“窗体页眉”,“属性”选择“背景色”,“值”设置为“=RGB(255*Rnd(),255*Rnd(),255*Rnd())”。(7)在“添加新操作”组合框中选择“SetProperty”,“控件名称”输入“主体”,“属性”选择“背景色”,“值”设置为“=RGB(255*Rnd(),255*Rnd(),255*Rnd())”如图所示。(8)在“添加新操作”组合框中选择“SetProperty”,“属性”选择“标题”,“值”设置为“欢迎使用学生窗体”如图所示。(9)保存并运行宏,弹出对话框提示“需要设置窗体颜色和标题吗?”时选择时,运行后的窗体如图所示,由于采用了随机函数,每次运行该宏,学生窗体的背景颜色都会不同。例7-6建立一个多分支结构的宏。创建一个窗体,在窗体上添加三个单选按钮,选择不同的项时显示不同数据表中的数据。(1)新建一个窗体,在其中添加一个标签、一个选项组控件和一个命令按钮,如图所示。将选项组命名为fraTable,并在其中添加三个单选按钮,其选项值分别是1、2、3,标签分别是“学生表”、“教师表”和“成绩表”。然后将窗体保存为“打开数据表”。(2)在命令按钮上点击鼠标右键,在弹出菜单中选择“事件生成器”,在弹出的“选择生成器”对话框中选择“宏生成器”。(3)在“设计”上下文选项卡的“显示/隐藏”选项组中,单击“操作目录”按钮,打开操作目录,从中拖动“If”到宏设计窗口中。(4)点击“If”条件的表达式生成器按钮,在弹出的“表达式生成器”窗口中输入“[fraTable]=1”,在Then后面的“添加新操作”组合框中选择“OpenTable”,表名称选择“学生”,如图所示。(5)点击“添加ElseIf”链接,在“ElseIf”后面输入表达式“[fraTable]=2”,在Then后面的“添加新操作”组合框中选择“OpenTable”,表名称选择“教师”,如图所示。(6)点击“添加Else”链接,在后面的“添加新操作”组合框中选择“OpenTable”,表名称选择“课程”,如图所示。(7)在“EndIf”后面的“添加新操作”组合框中选择“MessageBox”,消息设置为“数据表已打开”,如图所示。(8)打开“打开数据表”窗体,选择fraTable选项组的不同选项,单击“打开”按钮,将打开不同的表。7.2.4子宏
一个宏对象是Access中的一个容器对象,其中可以包含若干个子宏,而一个子宏又由若干个操作组成。例7-7使用子宏。创建一个名为“数据浏览”的宏,如图所示,其中包含三个子宏。“学生”子宏用于打开“学生”窗体,“教师”子宏用于打开“教师”窗体,“课程”子宏用于打开“课程”窗体。(1)在“创建”选项卡上的“宏与代码”组中,单击“宏”按钮。(2)在“设计”上下文选项卡的“显示/隐藏”选项组中,单击“操作目录”按钮,打开操作目录,从中拖动“Submacro”到宏设计窗口,子宏的名称设置为“学生”。(3)在子宏内的“添加新操作”组合框中选择“OpenForm”,“窗体名称”选择“学生”,如图所示。(4)按照上面的方法依次创建“教师”子宏和“课程”子宏,如图所示。(5)点击快速访问工具栏上的“保存”按钮
,将宏组保存为“数据浏览”。(6)创建一个窗体,如图所示,在窗体上绘制一个按钮。(7)系统自动弹出“命令按钮向导”对话框,如图所示,在“类别”中选择“杂项”,“操作”中选择“运行宏”,点击“下一步”按钮。(8)在如图所示的窗体中选择“数据浏览.学生”,点击“下一步”按钮。(9)在如图所示的窗体中选择“文本”,然后输入“打开学生窗体”,点击“下一步”按钮。(10)在如图所示的窗体中,输入按钮名称“打开学生窗体”,点击“完成”按钮。(11)按照上面的方法,依次创建“打开教师窗体”按钮和“打开课程窗体”按钮,如图所示。(12)将窗体保存为“数据浏览”,切换到窗体视图,然后点击各按钮。将若干个子宏放在一个宏中,不仅减少了宏对象的个数,而且可以方便的对数据库中的宏进行分类管理。提示:对宏内的子宏的引用,需要使用如下格式:宏名.子宏名,例如:数据浏览.学生。如果在引用宏时只指定了宏名,而没有指定宏中的子宏名,则运行宏中的第一个子宏。7.3宏的运行
宏的运行方法有很多种类,下面进行详细介绍。1、直接运行宏(1)在宏的设计窗口中,点击“设计”选项卡上的“运行”按钮,可直接运行宏。(2)在宏对象窗口,双击要运行的宏,或者点击右键选择“运行”可直接运行宏。(3)点击“数据库工具”选项卡,选择“宏”中的“运行宏”,在“执行宏”对话框中输入要运行的宏。对于简单宏,可直接输入宏名。对于子宏,则通过在宏名后输入一个句点,然后再输入子宏名。例如:数据浏览.学生。2、在窗体、报表或控件的事件中运行宏例如,创建一个窗体,在窗体空白处双击时,运行“数据浏览.学生”,如图所示。3、从另一个宏运行宏如图所示,在“添加新操作”组合框中选择在“RunMacro”命令,并且将“宏名”参数设定为要运行的宏的名称。4、在VBA中的过程或函数中,使用DoCmd对象的RunMacro方法运行宏(1)运行简单宏的语法格式:DoCmd.RunMacro“宏名”(2)运行宏中的子宏的语法格式:DoCmd.RunMacro“宏组.子宏名”5、在快速访问工具栏或功能区中运行宏可以将宏添加到菜单栏或工具栏,以菜单命令或工具按钮的形式运行宏。在菜单或工具栏中添加宏的方法是:(1)在快速访问工具栏空白处点击鼠标右键,在弹出菜单中选择“自定义功能区”或“自定义快速访问工具栏”,或点击“文件”菜单中的“选项”菜单项。(2)如图所示,在“Access选项”对话框中选择“自定义功能区”或“快速访问工具栏”。在“命令”组合框中选择“宏”,下方的列表中选定宏,如“数据浏览.学生”。(3)点击“添加”按钮将宏添加到相应工具栏,点击“删除”按钮可以将其从工具栏中移除。(4)点击“确定”按钮,所选择的宏边会出现在工具栏上。6、自动运行宏Access数据库被打开时,系统会自动查找数据库中有没有名为“Autoexec”(大小写均可)的宏,如果有,将执行该宏。如果需要在打开数据库时执行该操作,如打开某窗体、报表等,可以设计一个宏来完成这些操作,并将其命名为Atutoexec,其中的宏操作序列将在打开数据库时自动运行。提示:如果数据库中包含了宏Autoexec,但在启动数据库时不希望执行该宏,可以在数据库被打开时按住Shift键,启动完成后再释放Shift键,则宏Autoexec不执行。7、创建启动窗体Access除了自动运行宏Autoexec以外,还可以设置数据库打开时自动启动的窗体或数据访问页。数据库系统可以通过设置自动启动窗体,使数据库启动时自动进入数据库登录界面。例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年科技型中小企业知识产权保护与法律风险防控服务合同
- 2025年旅游直播带货主播与旅行社专属合作协议
- 2025年公共建筑消防系统升级改造验收与评定合同
- 2025年上海乐理c级试题及答案
- 2025年度信用卡持卡人权益保障与增值服务全面合作协议
- 2025年新型电动车消费信贷及分期偿还协议
- 2025年宠物中医考试题及答案
- 2025年生物制药专利技术许可及临床试验合作协议
- 2025年高淳中学面试题目及答案
- 2025年网络安全防护一致行动人协议正本:数据安全联盟
- 变电站设备巡视课件
- 货运司机劳动合同范文5篇
- 药品不良反应与药害事件报告、处置流程图
- 贵州省公民文明手册
- GB/T 28137-2011农药持久起泡性测定方法
- 青蓝工程师徒结对师傅总结9篇
- GB 4696-2016中国海区水上助航标志
- 超限超载危害及法律责任课件
- 高空作业安全培训课程课件
- 农业行政处罚中违法所得实务分析课件
- 传染病疫情演练脚本
评论
0/150
提交评论