8.5 创建嵌入宏
目录
1.深入认识嵌入宏
2.在报表中创建嵌入宏
3.输出为Excel文件
1.深入认识嵌入宏
实际上,当用户在窗体上使用向导创建一个命令按钮执行某种操作时,不仅创建了命令按钮的单击事件,而且在单击事件中还创建了一个嵌入宏。在单击事件中运行这个嵌入宏完成指定的操作。例如在教学管理数据库的“登录”窗体中,使用向导创建“登录验证”命令按钮用于检验密码足否正确,其嵌入的宏如图所示。

嵌入宏的引入使得Access的开发工作变得更为灵活。把原来事件过程中需要编写事件过程代码的工作,都用嵌入宏替代了。在罗斯文示例数据库中广泛使用了嵌入宏,尤其是“主页”窗体中,不仅在“快速链接”列表的每一个命令的背后也都嵌入
宏,而且在“要在订购的库存”列表中的每一种产品名称(文本框),其单击事件中都嵌入了一个宏。
宏的条件、操作和宏的参数对于初学者来说还是有一定难度的。要想掌握宏应该首先从学习嵌入宏开始。而学习嵌入宏,应该从分析使用命令按钮向导创建的嵌入宏开始,认真研究罗斯文示例数据库中的嵌入宏是个最好的途径。
2.在报表中创建嵌入宏
嵌入宏不仅应用在窗体中,也可以应用在报表中。
当打开一个报表时,如果报表的数据源不包括任何记录,这时将显示一个空白报表,即报表上没有数据。如果希望禁止没有数据的空白报表显示,可以在报表上嵌入宏来完成这个任务。
例 在“学生选课信息”报表上添加一个嵌入宏,以禁止空白报表显示。
操作步骤如下:
(1)打开“教学管理”数据库,以设计视图打开“学生选课信息”报表。
(2)如果这时没有打开报表属性表,可以按“F4”。
(3)在属性表中,单击“事件”选项卡,单击“无数据”属性右侧的“生成器”按钮。


(5)在打开的“宏设计器”中,创建宏。

(6)关闭宏设计器。返回到报表属性窗口, “嵌入的宏”显示在“无数据”属性中。
(7)保存报表后,关闭报表。
下一次运行报表时,如果发现没有记录,则显示提示信息框,在提示信息框,单击“确定”,没有数据的空白报表的打开操作将取消。
下表列出了主要宏操作。
| 操作名称 | 参数 | 说明 |
| 窗口管理 | ||
| CloseWindows | 对象类型、对象名称,保存 | 关团指定的Acccss窗口.如果没有指定窗口,则关闭活动窗口 |
| MaximizeWindows | 放大活动窗口,使其充满Access窗口。该操作可以使用户尽可能多地看到插动窗口中的对象 | |
| MinimizeWindows | 将活动窗口缩小为Access窗口底部的小标题栏 | |
| MovcAndSizeWindows | 右、下、宽度,高度 | 移动活动窗口或调整其大小 |
| RestoreWindows | 将处于最大化或最小化的窗n恢复为原来的大小 | |
| 宏命令 | ||
| CancelEvent | 取消一个事件,该事件在取消前用于引发Access执行后来包含该操作的宏 | |
| ClearMacroError | 清除宏对象中上一个错误 | |
| OnError | 下一个、宏名,失败 | 指定宏出现错误时如何处理 |
| RemaveALITempVars | 删除用SetTempVar操作创建的任意临时变量 | |
| RemoveTempVar | 名称 | 删除通过SetTempVar操作创建的单个临时变量 |
| SetLocal | 名称,值或表达式 | 将本地变量设置为给定值 |
| SetTempVar | 名称,表达式 | 将临时变量设置为给定值 |
| RunCode | 函数名称 | 调用VBA函数过程 |
| RunMacro | 宏名、重复次数、重复表达式 | 运行宏。该宏可以在宏中包含予宏 |
| StopAllMacros | 无参数 | 停止当前正在运行的所有宏 |
| StopMacro | 无参数 | 停止当前正在运行的宏 |
| 筛选/排序/搜索 | ||
| ApplyFilter | 筛选名称、Where条件 | 对表,窗体或报表应用筛选、查询或SQL WHERE子句,以便限制或排序表以及窗体或报表的查询中的记录 |
| FindNext | 查找下一个记录,该记录符合由时一个FindRecord操作或“在字段中查找”对话框所指定的准则 | |
| FindRecord | 查找内容、匹配、区分大小写。搜索等 | 查找符合该操作参数指定的准则的第一个数据实例 |
| OpenQuery | 查询名称,视图、数据模式 | 在数据表视图、设计视图或“打印预览”中打开选择查询或交叉表查询 |
| Requery | 控件名称 | 通过重新查询控件的数据源来刷新活动对象指定控件中的数据 |
| RequeryRecord | 刷新当前记录 | |
| ShowAllRecords | 从活动表、查询结果集或窗体中删除任何应用的筛选,以及显示表或结果集中的所有记录或者窗体的基础表或查询中的所有记录 | |
| 数据导入/导出 | ||
| ExportWithFormating | 将指定数据库对象的数据输出为某种格式文件 | |
| WordMailMerge | 执行邮件合并操作 | |
| 数据对象 | ||
| GoToControl | 控件名称 | 把焦点移到打开的窗体、窗体数据表、表数据表、查询数据表中当前记录的特定字段或控件上 |
| GoToPage | 页码、右、下 | 在活动窗体中将焦点移到某一特定页的第一个控件 |
| GoToRecord | 对象类型、对象名称、 记录、位移量 | 使指定的记录成为打开的表、窗体或查询结果察中的当前记录 |
| OpenForm | 窗体名称、视图、筛选名称、Where条件、数据模式、窗体模式 | 在窗体视图,设计视图中打开窗体 |
| OpenReport | 报表名称、视图、筛选名称、Where条件 | 在“设计”视图或打印预览中打开报表,立即打印报表,也可以限制需要在报表中打印的记录 |
| OpenTable | 表名、视图、数据模式 | 在数据表视图或设计视图或“打印预览”中打开表 |
| RepaintObject | 对象类型,对象名称 | 完成指定的数据库对象的任何未完成的屏幕更匹新。此类更新包括该对象的控件的任何未完成的重新计算 |
| 系统命令 | ||
| Beep | 可表示错误情况和重要的屏幕变化。通过计算饥发出嘟嘟声 | |
| CloseDatabase | 关闭当前数据库 | |
| QuitAccess | 选项 | 退出Access。从5种选项中指定一个用户界面命令 |
| AddMenu | 菜单名称、菜单宏名称、 状态栏文字 | 创建全局菜单栏、全局快捷菜单、窗体或报表的自定义菜单栏、窗体、控件或报表的自定义快捷菜单 |
| MessageBox | 消息,发嘟嘟声,类型、 标题 | 显示包含警告信息或其他信息的消息框,常用于验证失败显示一条消息 |
| SetMenuItem | 设置“加裁项”选项卡上的自定义或全局菜单上的菜单项的状态(启用或禁用、选择或取消选择) | |
3.输出为Excel文件
在各类办公工作中,Excel文件格式常用做传递数据所采用的格式。Access提供了把数据表、查询和报表导出为Excel文件的功能。使用宏可以自动化地完成把数据导出为Excel格式,除此之外,使用宏还可以实现OutLook信息的导入导出、Word文档的邮件合并工作,将指定的数据库对象包含在邮件中,这些功能给现代办公提供了极大的方便。下面只介绍使用宏把报表输出为Excel文件的基本操作。
例 把不及格学生报表输出为Excel文件。基本步骤如下:
(1)打开“教学管理”数据库。
(2)在“创建”选项卡“宏与代码”组中,单击“宏”按钮,创建一个新宏。
(3)打开“宏设计器”,展开“操作目录”窗格中的“数据导人/导出”组。
(4)把“ExportWithFormating操作,拖到宏操作占位符组合框中。

(6)依次设置宏操作的参数。然后保存宏名称为输出Excel文件。
(7)以设计视图打开“按课程查询不及格学生”窗体,在窗体页眉处添加一个命令按钮,这个命令按钮运行宏操作,执行“输
出Excel文件”的宏,将命令按钮标题命名为“输出Excel”。

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
