版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目6宏的创建和应用《数据库应用基础(Access2019)》项目目标理解宏的概念、类型和结构掌握创建和使用独立宏的方法掌握创建和使用嵌入宏的方法掌握运行和调试宏的方法掌握常用宏操作的使用方法本章目录01任务6.1通过宏打开数据库对象02任务6.2通过宏实现数据操作03任务6.3通过宏实现窗体查询04任务6.4通过自动运行宏实现密码验证05任务6.5通过宏导出子窗体数据06任务6.6通过宏邮寄报表数据07任务6.7通过宏实现系统集成通过宏打开数据库对象6.1任务6.1通过宏打开数据库对象–1/4任务目标掌握在Access2019中创建和应用宏的方法实现通过自定义窗体灵活打开表、查询、窗体、报表等数据库对象应用场景构建一个集成控制面板,可通过组合框选择对象单击按钮即可打开对应对象支持关闭窗体或退出程序关键技术宏组与子宏条件宏(If...Then...Else)嵌入宏与独立宏控件事件与宏关联任务6.1通过宏打开数据库对象–2/4创建“打开数据库对象”窗体窗体结构窗体页眉:标题“打开数据库对象”主体部分:四个组合框+对应按钮表名称组合框+“打开表”按钮查询名称组合框+“打开查询”按钮窗体名称组合框+“打开窗体”按钮报表名称组合框+“打开报表”按钮底部:两个控制按钮“关闭窗口”按钮“退出程序”按钮控件属性设置组合框“行来源类型”设为“值列表”,手动输入对象名称控件命名规范:如“表名称组合框”“打开表按钮”,便于宏中引用任务6.1通过宏打开数据库对象–3/4创建“打开数据库对象”宏组宏组结构包含四个子宏:打开表、打开查询、打开窗体、打开报表子宏“打开表”逻辑示例条件判断:NotIsNull([Forms]![打开数据库对象]![表名称组合框])若条件成立:执行OpenTable,表名称取自组合框若不成立:弹出提示“请选择要打开的表!”核心宏操作OpenTable/OpenQuery/OpenForm/OpenReportMessageBox:提示用户未选择对象Submacro:定义子宏结构任务6.1通过宏打开数据库对象–4/4关联宏与按钮,实现交互功能独立宏的引用在按钮“单击”事件中设置:打开数据库对象.打开表打开数据库对象.打开查询以此类推,格式为“宏组名.子宏名”嵌入宏的创建“关闭窗口”按钮:使用CloseWindow,关闭当前窗体“退出程序”按钮:使用If判断用户确认(MsgBox返回值)条件成立时执行QuitAccess退出Access嵌入宏特点不显示在导航窗格中,仅属于当前控件或窗体通过宏实现数据操作6.2任务6.2通过宏实现数据操作–1/7任务目标掌握在Access2019中使用宏操作对数据库记录进行增、删、改、查及导航的方法。应用场景在“教师信息管理”窗体中,通过命令按钮实现记录的浏览、添加、保存、删除、查找等功能,提升数据管理效率。关键技术记录导航宏:GoToRecord数据操作宏:RunMenuCommand(内置命令)错误处理宏:OnError、ClearMacroError焦点控制宏:GoToControl交互反馈:Beep、MsgBox任务6.2通过宏实现数据操作–2/7创建“教师信息管理”窗体数据源基于“教师表”创建窗体,绑定教师字段。窗体属性设置标题:“教师信息管理”记录选择器:否导航按钮:否(隐藏系统默认导航栏)任务6.2通过宏实现数据操作–3/7创建“教师信息管理”窗体控件添加(窗体页脚中):共10个命令按钮,均为手动添加,不使用向导按钮名称标题功能首记录按钮首记录跳转至第一条记录上一条按钮上一条跳转至上一条记录下一条按钮下一条跳转至下一条记录末记录按钮末记录跳转至最后一条记录查找按钮查找记录打开查找对话框添加按钮添加记录新增空白记录保存按钮保存记录保存当前记录撤消按钮撤消记录撤消未保存的修改删除按钮删除记录删除当前记录关闭按钮关闭窗口关闭当前窗体任务6.2通过宏实现数据操作–4/7记录导航类宏(首、上、下、末):实现记录导航功能核心宏操作使用GoToRecord操作,通过“记录”参数指定目标位置。按钮宏设置示例注意事项所有导航宏均为嵌入宏,直接绑定按钮的“单击”事件无需额外条件判断,Access自动处理边界情况(如已在首记录时无法继续向前)按钮宏操作记录参数首记录GoToRecord首记录上一条GoToRecord向前移动下一条GoToRecord向后移动末记录GoToRecord尾记录任务6.2通过宏实现数据操作–5/7编辑操作类宏(添加、保存、撤消):实现记录的添加、保存与撤消添加记录使用GoToRecord,将“记录”参数设为“新记录”跳转至空白记录,供用户输入新数据保存记录使用RunMenuCommand,选择命令“SaveRecord”保存当前记录的修改撤消记录使用RunMenuCommand,选择命令“UndoRecord”撤消对当前记录未保存的修改配套操作可选添加GoToControl将焦点定位到指定字段使用Beep提供操作反馈(如保存成功)任务6.2通过宏实现数据操作–6/7查找与删除操作宏:实现记录查找与删除查找记录宏(共5个操作)OnError:设置错误处理(如未找到时继续)GoToControl:将焦点移至查找字段RunMenuCommand:执行“查找”命令ClearMacroError:清除错误信息MsgBox(可选):提示查找结果删除记录宏(共7个操作)采用多分支条件判断,确保删除操作的安全性:If1:当前不是新记录→执行“删除记录”命令If2:当前是新记录且未修改→Beep提示If3:当前是新记录且已修改→执行“撤消”命令最终配合MsgBox显示操作结果或错误信息任务6.2通过宏实现数据操作–7/7错误处理与窗口关闭:增强宏的健壮性与用户体验错误处理宏OnError参数“转到”:可设为“下一个”“宏名”或“失败”常用模式:OnError+MsgBox显示错误描述与ClearMacroError配合使用,清除历史错误信息关闭窗口宏使用CloseWindow操作设置“对象类型”为“窗体”,“对象名称”为“教师信息管理”无需保存参数,由Access自动处理Beep操作无参数,用于简单提示适合与条件判断配合使用,增强交互反馈通过宏实现窗体查询6.3任务6.3通过宏实现窗体查询–1/2任务目标掌握使用宏实现窗体联动查询的方法,通过自定义窗体实现多级参数输入与动态结果显示。应用场景在“学生成绩查询”窗体中,通过三个联动的组合框实现“系部→班级→学生”逐级筛选,最终在子窗体中显示所选学生的成绩。实用价值避免在海量数据中直接查找逐级缩小选择范围,提升用户体验替代系统默认的“输入参数值”对话框,支持多种控件输入关键技术参数查询引用窗体控件值组合框联动:更改事件+Requery操作子窗体动态更新任务6.3通过宏实现窗体查询–1/2创建参数查询窗体设计与联动实现窗体控件系部组合框(数据源:系部表)班级组合框(数据源:按系部查询班级)学生组合框(数据源:按班级查询学生)子窗体(数据源:按学生查询成绩)查询名称数据源参数条件按系部查询班级系部表、班级表[Forms]![学生成绩查询窗体]![系部]按班级查询学生学生表[Forms]![学生成绩查询窗体]![班级]按学生查询成绩学生表、课程表、成绩表[Forms]![学生成绩查询窗体]![学生]任务6.3通过宏实现窗体查询–1/2窗体设计与联动实现联动逻辑与宏实现宏结构示例IfNotIsNull([Forms]![学生成绩查询窗体]![系部])ThenRequery控件名称:班级EndIf事件宏操作作用系部组合框更改Requery(班级)刷新班级列表班级组合框更改Requery(学生)刷新学生列表学生组合框更改Requery(子窗体)刷新成绩显示任务6.3通过宏实现窗体查询–1/2requery操作说明功能:重新查询指定控件的数据源,刷新显示参数:控件名称(留空则刷新当前活动对象)特点:不影响记录指针位置联动效果选择系部→班级组合框只显示该系班级选择班级→学生组合框只显示该班学生选择学生→子窗体显示该生所有课程成绩核心知识参数查询 条件引用窗体控件值组合框联动 更改事件+RequeryRequery 刷新控件数据源子窗体 数据源绑定参数查询,随主控件刷新通过自动运行宏实现密码验证6.4任务6.4通过自动运行宏实现密码验证–1/4任务目标:创建系统登录窗体,通过自动运行宏在打开数据库时弹出登录界面,验证用户名和密码,提升系统安全性。“系统登录”窗体属性设置窗体控件属性设置值作用自动居中是窗体居中显示记录选择器否隐藏记录选择器导航按钮否隐藏导航按钮控制框否隐藏控制菜单关闭按钮否禁止直接关闭弹出方式是置于其他窗口之上模式是必须响应才能继续控件名称关键属性文本框用户名文本框—文本框密码输入框输入掩码=“密码”命令按钮登录按钮标题=“登录”命令按钮取消按钮标题=“取消”任务6.4通过自动运行宏实现密码验证–2/4登录按钮嵌入宏(核心验证逻辑)宏结构:三个判断块DCount验证表达式DCount("*","系统用户","用户名='"&[Forms]![系统登录]![用户名文本框]&"'And密码='"&[Forms]![系统登录]![密码文本框]&"'")=1功能:统计系统用户表中与输入用户名和密码匹配的记录数结果为1表示验证通过判断块条件操作块1用户名为空提示“请输入用户名”→焦点移至用户名文本框→StopMacro块2密码为空提示“请输入密码”→焦点移至密码文本框→StopMacro块3DCount验证=1提示“登录成功”→SetTempVar保存用户名→CloseWindow任务6.4通过自动运行宏实现密码验证–3/4登录按钮嵌入宏(核心验证逻辑)关闭登录窗体块3ElseDCount验证≠1提示“用户名或密码错误”DCount验证表达式DCount("*","系统用户","用户名='"&[Forms]![系统登录]![用户名文本框]&"'And密码='"&[Forms]![系统登录]![密码文本框]&"'")=1功能:统计系统用户表中与输入用户名和密码匹配的记录数结果为1表示验证通过取消按钮嵌入宏:QuitAccess,退出Access,返回Backstage视图自动运行宏(AutoExec)名称:必须命名为AutoExec操作:OpenForm,打开“系统登录”窗体效果:每次打开数据库时自动运行,弹出登录界面禁止自动运行:打开数据库时按住Shift键,可暂时跳过AutoExec宏任务6.4通过自动运行宏实现密码验证–4/4核心知识点知识点说明AutoExec宏命名为AutoExec,打开数据库时自动运行弹出方式/模式使窗体强制响应,阻止后台操作输入掩码设置为“密码”,输入时显示“*”DCount函数统计匹配记录数,用于验证SetTempVar创建临时变量,保存登录用户名StopMacro停止宏继续执行通过宏导出子窗体数据6.5任务6.5通过宏导出子窗体数据–1/4任务目标创建“按照班级和课程查询成绩”窗体,通过列表框选择班级和课程,子窗体显示查询结果,并支持将子窗体数据导出为Excel等格式文件。核心功能班级列表框→选择班级课程列表框→选择课程子窗体→显示该班该课程的学生成绩导出按钮→将成绩数据导出到外部文件参数查询(关键)查询名称:按照班级和课程查询成绩参数来源:班级:[Forms]![按照班级和课程查询成绩]![班级]课程:[Forms]![按照班级和课程查询成绩]![课程]查询条件引用窗体控件值,实现动态筛选任务6.5通过宏导出子窗体数据–2/4窗体设计与控件配置窗体主要控件窗体属性设置记录选择器 否导航按钮 否设计要点两个列表框通过向导创建,绑定对应数据源子窗体通过向导添加,数据源为参数查询控件类型名称数据来源说明列表框班级班级表显示班级编号列表框课程课程表显示课程名称子窗体按照班级和课程查询成绩子窗体参数查询显示查询结果命令按钮导出按钮—导出数据命令按钮关闭窗口—关闭窗体任务6.5通过宏导出子窗体数据–2/4班级/课程列表框单击宏导出数据按钮宏(关键)IfDCount("*","按照班级和课程查询成绩")=0ThenMessageBox"未找到任何成绩记录,无需导出!"StopMacroElseExportWithFormatting
对象类型:窗体对象名称:按照班级和课程查询成绩子窗体输出格式:(留空,由用户选择)EndIf关闭窗口按钮宏:CloseWindow,关闭当前窗体事件宏操作作用班级列表框单击Requery(子窗体)刷新子窗体,显示所选班级的成绩课程列表框单击Requery(子窗体)+If判断刷新子窗体;若无数据则提示“未检索到成绩记录”任务6.5通过宏导出子窗体数据–4/4核心宏操作ExportWithFormatting关键参数宏操作功能Requery刷新指定控件的数据源ExportWithFormatting将窗体/报表数据导出为Excel、PDF等格式StopMacro终止当前正在运行的宏DCount统计查询结果集中的记录数参数说明对象类型表/查询/窗体/报表对象名称要导出的对象名称输出格式留空则提示用户选择(Excel、PDF等)输出文件留空则提示保存位置自动启动导出后是否打开文件通过宏邮寄报表数据6.6任务6.6通过宏邮寄报表数据–1/3任务目标创建“报表邮寄系统”窗体,通过宏实现将指定报表以电子邮件附件形式发送给指定教师。核心功能报表列表框→选择要发送的报表教师列表框→选择接收邮件的教师(含电子信箱)邮寄报表按钮→自动生成带附件的邮件关闭窗口按钮→关闭窗体应用价值无需手动撰写邮件和添加附件支持批量选择,提高工作效率可选择多种输出格式(Excel、PDF、RTF等)任务6.6通过宏邮寄报表数据–2/3邮寄报表嵌入宏结构EMailDatabaseObject关键参数组成部分说明OnError错误处理,记录错误信息并继续执行If条件检查是否未选择报表或教师条件成立MessageBox提示+StopMacro终止宏Else分支执行EMailDatabaseObject发送邮件后续If若无错误,提示“发送成功”参数设置值说明对象类型报表发送对象类型对象名称=[Forms]![报表邮寄系统]![报表]所选报表名称到=[Forms]![报表邮寄系统]![教师].[Column](2)教师电子信箱(第2列)主题=[Forms]![报表邮寄系统]![报表]&"报表"邮件主题消息文本=[Forms]![报表邮寄系统]![教师].[Column](1)&"老师:现将"&[Forms]![报表邮寄系统]![报表]&"报表发给您了,请查收!"邮件正文输出格式留空由用户选择任务6.6通过宏邮寄报表数据–3/3多列列表框引用Column(0):教师编号(隐藏列)Column(1):教师姓名Column(2):电子信箱核心宏操作宏操作功能EMailDatabaseObject将数据库对象作为附件发送邮件OnError设置错误处理方式StopMacro终止当前宏MessageBox显示提示信息通过宏实现系统集成6.7任务6.7通过宏实现系统集成–1/5任务目标将教务管理数据库中的各种对象(表、查询、窗体、报表等)整合为一个完整的应用系统,通过宏实现权限控制、自定义功能区和启动选项,形成统一的用户界面。系统集成三要素权限分类管理员:可打开所有窗体教师:可打开教师和成绩相关窗体学生:只能打开成绩相关窗体未登录:只能看到登录界面要素作用命名宏权限检查+打开功能窗体自定义功能区提供直观的操作选项卡和命令按钮数据库选项定制标题/图标,隐藏导航窗格,增强安全性任务6.7通过宏实现系统集成–2/5宏对象与子宏设计权限检查核心逻辑IfDLookUp("权限","系统用户","用户名='"&TempVars!UserName&"'")="管理员"ThenOpenForm窗体名称ElseMessa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年锅炉压力容器操作工面试题库
- 2026年金融投资知识全面测试题库
- 2026年儿童先心病介入治疗术后抗血小板治疗方案选择考核练习题
- 2026年书店售书窗口人员礼仪知识自测题
- 2026年青年干部科研仪器开放共享政策知识题库
- 2026年城市桥梁上跨河管线管理办法知识测试题
- 2026年劳动人事争议调解仲裁题库
- 2026年乡镇道路结冰安全出行知识测试题
- T-GSWS 021-2025 陇南白茶标准
- 改造提升工作方案
- 河南省事业单位工勤(收银审核员高级技师)复习题(附答案)
- GB/T 31831-2025LED室内照明应用技术要求
- 2026年卫生专业技术资格考试(中医肛肠科学基础知识主治医师代码327)题库测试题及答案解析
- 雨课堂学堂在线学堂云《水声通信原理( 西工)》单元测试考核答案
- 物业管理师实操题库及案例分析含答案
- 2025年初中二年级物理期末评估试卷(含答案)
- IT运维技术支持岗位运维服务质量管理方案
- 医院获得性肺炎诊断与治疗
- 水库大坝混凝土施工方案
- 华润燃气管理能力测评题库及答案详解
- 上海初中入团考试试题及答案
评论
0/150
提交评论