国开《数据库基础与应用》第十一章 11-2:宏和模块的嵌入式创建和使用
11-2:宏和模块的嵌入式创建和使用
宏和模块不仅可以单独被建立、命名和使用,还可以同一个窗体中的控件事件有机结合在一起,进行建立和使用,由系统自动绑定、命名、保存和运行。
例如:我们要建立一个窗体,实现两个整数乘法运算的功能,并能够判断运算结果的正确或错误。可以试着按照以下步骤完成。
第一步:打开如下图1所示的一个窗体设计视图。在此窗体中添加三个文本框。
第二步:对每个控件进行必要的参数设置。三个文本框的名称分别由系统命名为Text0、Text2和Text4,仍保持不变,它们对应的标签控件中的标题,由原来系统自动给定的文本框名称分别修改为“被乘数:”、“乘数:”和“积:”。
第三步:在图1窗体中的3个文本框控件的下面添加一个命令按钮,如下图2所示。在生成此命令按钮时,系统给定的名称为Command6,给出的命令按钮上显示的标题内容也是Command6,即与命令名称相同,请通过属性表把命令标题修改为“判断结果”,其命令名称保持不变。接着单击属性表中事件选项卡上的单击事件后面的省略号按钮,随即打开图2中显示的“选择生成器”对话框。
第四步:单击选择“选择生成器”中的“代码生成器”,再单击“确定”按钮关闭此对话框,并自动打开VBE窗口,如下图4所示。
第五步:由于是针对名称为Command6的单击事件而打开的代码生成器,所以在代码编辑区内自动给出Sub过程的开始和结束语句,如下面所示。
Private Sub Command6_Click()
End Sub
因为需要利用它进行乘法运算结果的判断,其中被乘数表示在Text0文本框中,乘数表示在Text2文本框中,乘积表示在Text4文本框中,所以编写出的程序代码如下:
Dim Num As Integer
Num = Text0 * Text2
If Text4 = Num Then
Text7 = "计算正确!"
Else
Text7 = "计算错误!"
End If
显示判断结果的提示信息,可以通过调用VBA中定义的显示消息框输出函数MsgBox来实现,也可以直接输出到窗体中定义的一个文本框中显示出来。在这里是输出(赋值)到名称为Text7的文本框,为此需要在窗体中再增加一个文本框,假定它的名称为Text7,同时要删除掉跟随文本框一起添加进窗体的标签控件。
第六步:在暂时命名为“窗体2”的窗体中,被乘数、乘数和积都可以采用键盘输入的方式。在窗体运行时,也就是处于窗体视图状态时,通过键盘分别给3个文本框中输入整数,然后单击标题为“判断结果”的命令按钮,进行运算结果正确与否的判断。
对应被乘数和乘数,我们还可以对它们进行初始化。此初始化过程应在窗体的“加载”事件中完成。为此,从属性表顶部的组合框中,首先选择出窗体对象,接着单击事件选项卡,再单击“加载”项后面的省略号按钮,如下图5所示。
图5 给窗体的“加载”添加事件过程
第七步:为窗体的加载事件编写代码。此时仍重新打开VBE代码生成器窗口,如下图6所示。系统给定的加载事件过程的名称为Form_load,在过程体中需要编写出如下5条语句:
Text0 = Int(Rnd * 50)
Text2 = Int(Rnd * 50)
Text4 = ""
Text7 = ""
End If
End If
Text4.SetFocus
当此窗体打开运行时,也就是改变为窗体视图状态时,系统自动运行窗体的加载事件过程,对每个文本框进行相应的初始化,并将光标聚焦到保存乘积的文本框中。
第八步:回到窗体的设计视图,鼠标右键单击窗体名“窗体2”,从打开的下拉菜单中选择“窗体视图”命令,则此窗体就由设计视图状态转换为窗体视图状态,也就是窗体的运行状态,如下图7所示。
当打开此窗体时,系统通过自动执行“加载”事件过程,再通过过程中的随机函数调用,产生的被乘数为35,乘数为26,并将光标移到保存乘积的文本框内,等待用户输入35与26的乘积值,如下图8所示。若输入乘积的整数为910后,得到的结果视图仍如下图8所示,若输入整数不是910,而是其他任何数,如输入820,则得到的结果视图如下图9所示。
第九步:右键单击此窗体的名称,从下拉菜单中选择“保存”命令,或者单击屏幕左上角快速访问工具栏中的保存按钮,保存该窗体,在打开的另存为对话框中输入的窗体名称假定为“乘法运算窗体”
第十步:使“乘法运算窗体”转换到设计视图状态,右键单击设计视图中的任何位置,将使Access主界面选项卡后面增加进行窗体设计的“设计”、“排列”和“格式”这3个选项卡,从“设计”选项卡中选定命令按钮图标,然后再“判断结果”命令按钮下拖拽鼠标,产生一个新的命令按钮,该按钮的名称和标题均为系统给定的Command9,如下图10所示,同时自动打开命令按钮向导对话框。
第十一步:单击命令按钮向导对话框中的取消按钮,不采用此向导的方法生成单击事件的嵌入式的宏。通过属性表,把Command9命令按钮的标题修改为“结束运算”。此按钮的功能是:当单击它时就给出一个消息框,显示出“乘法运算已结束!”的提示信息,然后关闭此乘法运算窗体。当修改过此命令按钮的标题后,打开单击事件的宏生成器窗口,建立嵌入式的宏,在此宏中添加两条宏命令,如下图11所示。
第十二步:保存此宏后,关闭宏生成器窗体,返回到乘法运算窗体的设计视图界面,接着将其转换为窗体视图界面后,如下图12所示。当在保存积的文本框中输入40后,接着单击判断结果按钮,然后再单击结束运算按钮,则得到的窗体视图,如下图13所示。