Access模块及其应用.pptx
19.1 模块概述模块也是Access的对象之一,是存贮在一个单元中的VBA(Visual Basic for Application)声明、语句和过程组成的集合。利用VBA提供的强大功能,用户可以扩展Access功能,灵活完成各种高难度的需求。编写模块需要程序设计的基础,最好学过Visual Basic。VBA的语法和Visual Basic基本上是相同的。第1页/共16页29.1 模块概述Access有两种类型的模块:标准模块和类模块。类模块:窗体模块和报表模块都是类模块,它们各自和某一特定的窗体或报表相关联。窗体模块和报表模块通常都含有事件过程,当为Access创建第一个事件过程时,Access将自动创建与之关联的窗体模块或报表模块。标准模块:包含与任何其他对象都无关的常规过程以及可以从数据库中任何位置运行的过程。第2页/共16页39.2 Access Basic窗口属性窗口监视窗口代码窗口工程资源管理器第3页/共16页49.3 Visual Basic语法Visual Basic语法包含的内容比较多,具体请参见Visual Basic讲义。第4页/共16页59.4 举例例1:在窗体上显示鼠标的当前坐标。新建一个窗体,保存为“鼠标位置演示”,从工具箱上拖拽控件并修改属性,结果如图所示。Text0Text1第5页/共16页69.4 举例在“属性”对话框中,组合框中选择“主体”,单击“事件”Tab,单击“鼠标移动”属性右面的按钮(3个黑点),从弹出的“选择生成器”对话框中,选择“代码生成器”,单击“确定”,Access将转入VB环境。第6页/共16页79.4 举例在“主体_MouseMove”事件过程中键入下列代码。单击保存。该行代码的含义是,将MouseMove事件传入的鼠标位置X赋给文本框0,将Y赋给文本框1。Private Sub 主体_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)Text0=X Text1=YEnd Sub第7页/共16页89.4 举例关闭VB视图,将前面创建的“鼠标位置演示”窗体切换到“窗体视图”,查看结果。第8页/共16页99.4 举例例2:创建模块,编写一个函数,可以根据学生成绩,得到相应的等级(优,良,及格或不及格)。单击左面工作区的“模块”,单击“数据库”窗口工具栏上的“新建”,系统转入VB环境。在“属性”对话框将缺省的名称“模块1”改为“计算模块”。保存新建的模块。第9页/共16页109.4 举例单击【插入】|【过程】,在弹出的“添加过程”对话框中键入GetGrade,“类型”选择“函数”。单击“确定”。本步骤新建的模块中添加了一个函数。第10页/共16页119.4 举例修改GetGrade函数,键入如下的代码,根据不同的成绩区段,返回对应的级别。单击“保存”。第11页/共16页129.4 举例关闭VB视图。新建一个窗体,保存为“分数演示”,从工具箱上拖拽控件并修改属性,结果如图所示。Label1Command1Text0Text1第12页/共16页139.4 举例单击选中Command1按钮,在“属性”对话框中,单击“事件”Tab,单击“单击”属性右面的按钮(3个黑点),从弹出的“选择生成器”对话框中,选择“代码生成器”,单击“确定”,Access将转入VB环境。第13页/共16页149.4 举例在Command1_Click事件过程中键入下列代码。单击保存。该行代码的含义是,将文本框Text0的分数传送到前面定义的函数GetGrade,该函数返回分数对应的级别,最后该级别被赋给文本框Text1并显示。Private Sub Command1_Click()Text1=GetGrade(Text0)End Sub第14页/共16页159.4 举例关闭VB视图,将前面创建的窗体切换到“窗体视图”,分别输入分数65,80,90,单击“计算”按钮查看结果。第15页/共16页16谢谢大家观赏!第16页/共16页