目录
1.创建独立宏
在Access中AutoExec是一个特殊的宏,它在启动数据库时会自动运行,这个自动运行的宏是一个典型独立宏.
例 创建一个自动运行宏,用来打开"教学学管理”的登录窗体。其操作步骤如下:
(1)首先使用窗体设计视图,创建一个登录窗体。登录窗体上包括一个文本框,用来输入密码。一个命令按钮用来验证密码(此命令按钮留待后面再进行创建)以及窗体标题和图片,该登录窗体的创建结果。
(2)在“创建”选项卡的“宏与代码”组中,单击“宏”按钮,打开“宏设计器”。
(3)在“操作目录”窗格中,展开“数据库对象”,把“OpenForm"操作拖到组合框中。单击“窗体名称”组合口右侧下拉箭头,在列表中选择“登录”窗体,其他参数默认。
(4)在“快速工具栏”中单击“保存”按钮,以“AutoExec’’名称保存宏。这样以后启动教学管理数据库时,AutoExec自动运行,打开“登录”窗体。
2.创建子宏
在一个宏中可以包含多个子宏,每个子宏都必须定义自己的宏名,以便分别调用。创建含有子宏的宏的方法与创建宏的方法基本相同。不同的是在创建过程中需要对子宏命名。
例 在“教学管理”数据库中,创建一个名为“宏组练习”的宏组,该宏组由“宏1”、 “宏2”和“宏3”三个宏组成,这三个宏的功能分别如下:
(1)宏1
- 打开“成绩优秀学生”查询.
- 错误处理
(2)宏2
- 打开“教师查询”
- 使计算机的小喇叭发出“嘟嘟”的鸣叫声。
(3)宏3
- 保存所有的修改后,退出Access数据库系统。
操作步骤如下:
(1)打开“教学管理”数据库,在“创建”选项卡的“宏与代码”组中,单击“宏“按钮,打开“宏设计器”。
(2)在“操作目录”窗格中,把程序流程中的”子宏”拖到“添加新操作”组合框中,在子宏名称文本框中,默认名称为Sub1,把该名称修改为“宏1”。在添加新操作组合框中,选中“OpenQuery”,设置查询名称为“成绩优秀学生”,数据模式为“只读”。
(3)在下面的添加新操作组合框中打开列表,从中选中OnError操作,设置转至为“下一个”。
(4)按照上面的方法依次设置宏2和宏3。
(5)单击”快速工具栏”上的“保存”按钮,弹出“另存为”对话框,输入宏名: “子宏练习”,然后单击“确定”按钮,保存所创建的子宏。
说明 OnError是错误处理操作。它的参数有三个选项: “下一个”, “宏名”和“失败”。
- 下一个:即跳过当前宏操作,执行下一个操作.
- 宏名:跳转到指定宏名处继续执行.
- 失败:调整运行宏.
3.创建带条件的宏
通常,宏是按顺序从第一个宏操作依次往下执行。但在某些情况下,要求宏能按照给定的条件进行判断来决定是否执行某些操作。这就需要通过设置条件来控制宏的流程,使用 If 操作,使得宏具有了逻辑判断能力。
条件是一个计算结果为True/False或“是/否”的逻辑表达式,宏将根据条件结果的真或假而沿着不同的分支执行。例如
使用下列表达式 | 执行该操作的条件 |
[城市]=”上海” | 如果字段的值=”上海”则宏操作将执行 |
DCount(“[订单ID]”,”订单”)>35 | “订单”表的“订单ID”字段的项数超过35 |
DCount(“*”,”订单明细”,”[订单ID]=Forms![订单]![订单ID]”)>3 | “订单明细表中的“订单ID”字段值与“订单”窗体的“订单ID”字段值匹配,“订单明细”表中满足这一条件的记录超过3条 |
[发货日期] Between #2010年2月2日# And #2010年3月2日# | 执行此宏的窗体上的“发货日期字段值在2010年2月2日和2010年3月2 日之问 |
IsNull([名字])或[名字] IS Null | 运行该宏的窗体上的”名字”字段值是空(没有值) |
对于复杂的条件,.宏设计器提供了使用表达式生成器来编辑条件。
例 在“教学管理”数据库中,创建一个登录验证宏,使用命令按钮运行该宏时,对用户所输入的密码进行验证,只有输入的密码为“123456”才能打开启动窗体,否则,弹出消息框,提示用户输入的系统密码错误。操作步骤如下:
(1)在“创建”选项卡的“宏与代码”组中,单击“宏”按钮,打开“宏设计器”,
(2)在添加新操作组合框中,输入“IF,单击条件表达式文本框右侧的按钮。
(3)打开“表达式生成器”对话框,在“表达式元素”窗格中,展开“教学管理/Forms/所有窗体”,选中“登录”窗体。在”表达式类别”窗格中,单击"Text4”,在表达式值中输入."<>"123456"”。单击“确定”按钮,返回到“宏设计器”中。
(4)在“添加新操作”组合框中单击下拉箭头,在打开的列表中选择“MessageBox,在“操作参数”窗格的“消息”行中输入“密码错误!请重新输入系统密码!”,在类型组合框中,选择“警告”,其他参数默认。
(5)重复步骤(2)和(3),设置第2个IF.在IF的条件表达式中输入条件:[Forms]![登录]![Text0]="123456”。在添加新操作组合框中,选择“CloseWindows”,其他参数分别为“窗体、登录、否”。
(6)重复步骤(2)和(3),设置第3个IF。在添加新操作中,选择“OpenForm”,各参数分别为“教师、窗体、普通”,设置的结果。保存宏名称为“登录验证”。
( 7)打开“登录”窗体切换到设计视图中,在“设计“选项卡的“控件”组中,单击“命令”按钮,打开“请选择按下按钮时执行的操作”对话框。
(8)在对话框中,在“类别”窗格中,选择“杂项”,在“操作”窗格中,选择“运行宏”,单击“下一步”按钮。
(9)在打开的“请确定命令按钮运行的宏”对话框中,选中“登录验证”宏,然后单击“下一步”按钮。
(10)在打开的“请确定在按钮上显示文本还是显示图片”对话框中,选中“文本”,输入“登录验证”,然后单击“完成”按钮。
这样在启动教学管理数据库时,首先打开“登录”窗体,在用户输入密码后,单击“登录验证”按钮验证密码,如果密码不是“123456”,则弹出提示框,显示“密码错误!请重新输入系统密码!”。当密码是“123456”时,则关闭“登录”窗体,打开“教师”窗体,进入到教学管理数据库中。
测试后修改这了这个宏