第8章模块.ppt

上传人:本田雅阁 文档编号:2501546 上传时间:2019-04-04 格式:PPT 页数:48 大小:853.51KB
返回 下载 相关 举报
第8章模块.ppt_第1页
第1页 / 共48页
第8章模块.ppt_第2页
第2页 / 共48页
第8章模块.ppt_第3页
第3页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第8章模块.ppt》由会员分享,可在线阅读,更多相关《第8章模块.ppt(48页珍藏版)》请在三一文库上搜索。

1、第八章 模块,Access 2003 数据库技术,2,第八章 模块,8.1 基本概念 8.2 模块的分类 8.3 模块的创建与调用 8.4 模块的调试 8.5 宏与模块的关系 8.6 VBA程序设计入门 8.7 VBA的数据库编程基础,3,8.1 基本概念,模块就是存储在一个单元中的VBA(Visual Basic For Application)声明和过程的集合。它通过嵌入在Access中的VB(Visual Basic)程序设计语言编辑器和编译器实现与Access的完美结合。模块是基于VB程序设计语言而创建的。,4,基本概念,模块由过程组成,每一个过程都由一个函数或一个子程序所组成。 过程

2、(Procedure):是由VB代码组成的单元。它包含一系列执行操作或计算数值的语句和调用对象方法的语句。过程可分为函数(Function)过程和子(Sub)程序两种。,5,子程序,子程序:也称为Sub过程。是执行一项操作或一系列操作的过程。数据库中每个窗体或报表都有内置的窗体模块或报表模块,这些模块包含事件过程模板,可以向其中添加代码,使得当窗体、报表或其中的控件发生相应的事件时,执行相应的代码。许多向导(如命令按钮向导)在创建对象的同时也创建对象的事件过程。子程序以关键字“Sub”开始,并以“End Sub”语句结束。,6,8.2 模块的分类,两种类型:类模块和标准模块 类模块:类模块是可

3、以定义新对象的模块。新建一个类模块,即新建了一个对象。模块中定义的任何过程都变成该对象的属性或方法。类模块既可以独立存在,也可以与窗体和报表同时出现。窗体和报表都属类模块,它们各自与某一窗体或报表相关联。(单击 按钮可查看窗体或报表的模块。) 标准模块:标准模块是指存储在整个数据库中可用的子程序和函数的模块。标准模块包含通用过程和常用过程,通用过程不与任何对象相关联,常用过程可以在数据库中的任何位置运行。,7,标准模块与类模块的主要区别,标准模块与类模块的主要区别在于其作用范围和生命周期。 窗体或报表模块中的过程可以调用已经添加到标准模块中的过程。Access 2000以前版本的类模块只能在与

4、窗体或报表相关联时出现。而Access 2000以及更高版本中的类模块不仅可以脱离窗体或报表独立存在,而且可以在数据库窗口对象栏的模块列表中显示。,8,8.3 模块的创建与调用,通过向窗体或报表上的事件添加代码来创建一个事件过程,也可以在类模块或标准模块中创建函数过程或子程序。 创建模块的一般操作步骤如下: (1) 在“模块”中单击“新建”按钮; (2) 在模块编辑窗口中编辑模块程序。,9,一个简单的Sub过程,【例1】 创建一个Sub过程,自动弹出一个系统使用说明信息框。 本例只有一句话:调用函数MsgBox显示一段文字 Private Sub aa() MsgBox (“单击“进入系统”按

5、钮,打开教务管理系统;单击“退出系统”按钮,关闭教务管理系统,并退出Access。“) End Sub,Sub结尾,Sub开头,例1见窗体:启动,10,模块的调用(方法1),在模块编辑窗口中, 选择菜单“运行” “运行子过程/用户窗口” 或按F5键,特别注意: 运行时,要要将光标 置于过程体中任意位置。,11,模块的调用(方法2),使用调用语句Call 格式:call 子过程名(参数表) 说明:使用Public定义的可以使该子过程适用于所有模块中的所有其它过程;使用Private定义的子过程只适用于同一模块中的其它过程。 实例: Sub abc() End sub,Sub ss() Call

6、abc End sub,12,模块的调用(方法3),事件驱动: 与宏一样,我们可以在窗体或报表的“事件”中编制事件驱动程序,当事件发生时,模块中相应的过程自动执行。(实例见后面),13,VBA中对象的引用,VBA中对象的引用有2种: 引用对象 引用对象的属性,14,对象的引用实例-1,1、设置窗体“改变颜色”中的标签Label1的字体颜色为红色 Forms!改变颜色!Label1.ForeColor = RGB(255, 0, 0) 2、设置窗体“改变字体”中的标签Label1的字体为隶书 Forms!改变字体!Label1.FontName = “隶书“ 3、设置窗体“改变字体”中的标签La

7、bel1的字体为加粗 Forms!改变字体!Label1.FontBold = True 4、设置窗体“改变字体”中的标签Label1的字体为倾斜 Forms!改变字体!Label1.FontItalic = True 5、取消窗体“改变字体”中的标签Label1的字体的下划线 Forms!改变字体!Label1.FontUnderline = False,15,对象的引用实例-2,1、打开窗体“主控面板“ DoCmd.OpenForm “主控面板“ 2、关闭当前窗体 DoCmd.Close 3、焦点置于文本框Text1 Text1.SetFocus 4、清空文本框Text1 Text1 =

8、“ 5、 n = Forms!改变字体!Frame1 (选项组的值),16,常用的VBA命令,打开操作 关闭操作 输入操作 输出操作,17,打开操作,打开窗体。其命令格式如下: DoCmd.OpenForm formname,view ,filtername,wherecondition,datamode,windowmode 例:以只读数据模式打开“教师信息”窗体。 DoCmd.OpenForm ”教师信息”, acFormReadOnly,18,关闭操作,其命令格式如下: DoCmd.Close objecttype,objectname,save 例:关闭“工资统计表”报表。 DoCmd

9、.Close acReport, ”工资统计表”,19,输入操作,输入框 (InputBox函数) 格式如下: InputBox(prompt,title,default,xpos,ypos,helpfile,context) A=InputBox(“请输入半径:“),20,输出操作,Private Sub aa() Dim a, b a = InputBox(“请输入半径:“) b = 3.14 * a 2 MsgBox (“圆的面积=“ & b) b = MsgBox(“圆的面积=“ & b, , “输出结果“) 若用标题等其它参数时,必须用“变量= End Sub,21,输出操作,消息框

10、 (MsgBox 函数) 其命令格式如下: MsgBox(prompt,buttons,title,helpfile,context) Private Sub aa() Dim a MsgBox (“欢迎!“) a = MsgBox(“热烈欢迎!“, , “输出文字“) End Sub MsgBox详细说明,点击打开Word文档,22,23,记录操作,跳到第一个:DoCmd.GoToRecord , , acFirst 跳到最后一个: DoCmd.GoToRecord , , acLast 下一个: DoCmd.GoToRecord , , acNext 上一个: DoCmd.GoToReco

11、rd , , acPrevious,24,VBA的基本控制结构,结构化程序设计方法有三种基本的程序控制结构: 顺序结构 分支(选择)结构 循环结构。,25,分支(选择)结构,VBA提供了如下两种常用的选择语句 If语句 -分支结构 Select Case语句 -多分支结构,26,1、IF 语句,格式: If Then Else End if,27,【实例2】验证密码,设计一个验证密码窗体,单击“确定”时,使用过程验证密码正确与否(正确密码大写ASDF) 如果不对,信息窗标题“验证”,提示“密码错误,请重新输入!”, 单击“重试”按钮时,将密码清空,焦点落在文本框; 若输入正确,打开主控面板,并

12、关闭当前窗体(验证密码)。,例2见窗体:验证密码,28,单击事件驱动程序代码,Private Sub 确定_Click() Dim a IF Forms!验证密码!Text1 = “ASDF“ Then DoCmd.Close DoCmd.OpenForm “主控面板“ Else a = MsgBox(“密码错误,请重新输入!“, 5 + 48 + 0, “验证“),If a 4 Then Quit Else Text1 = “ Text1.SetFocus End If End If End Sub,29,2、Select Case语句,格式: Select Case Case Case C

13、ase Else End Select,30,【实例3】评价等级,制作窗体“A班成绩表”,添加2个按钮如图: 单击“下(上)一记录”按钮,显示下(上)一记录的信息,并在信息框显示该生等级 等级标准:平均分 XX=60,及格 80X=70,中等 90X=80,良好 =90,优秀,例3见窗体: A班成绩表,31,添加翻页按钮操作步骤,添加按钮,在弹出的向导中,选择记录导航:转至下(上)一项记录 关闭向导后打开事件过程 在事件过程中的语句 DoCmd.GoToRecord , , acNext 之后添加如下页程序 :,32,“下一记录”单击事件驱动程序代码,Private Sub Command1_

14、Click() Dim n, i As Integer DoCmd.GoToRecord , , acNext 下一记录 n = Forms!A班成绩表!平均分 Select Case n Case Is 60 i = MsgBox(“不及格“, , “该生等级“) Case Is 70 i = MsgBox(“及格“, , “该生等级“) Case Is 80 i = MsgBox(“中等“, , “该生等级“) Case Is 90 i = MsgBox(“良好“, , “该生等级“) Case Else i = MsgBox(“优秀“, , “该生等级“) End Select Exit

15、_Command1_Click: Exit Sub,“上一记录”程序代码与此类似,33,Case的顺序也可以反过来,Private Sub Command1_Click() Dim n, i As Integer Dim Dj as string DoCmd.GoToRecord , , acNext n = Forms!A班成绩表!平均分 Select Case n,Case Is =90 Dj=”优秀” Case Is =80 Dj=”良好” Case Is =70 Dj=”中等” Case Is =60 Dj=”及格” Case Is 60 Dj=”不及格” End Select i =

16、 MsgBox(Dj, , “该生等级“) Exit_Command1_Click: Exit Sub,34,循环结构,在VBA中,可以通过使用循环语句来控制程序重复执行一组语句。 VBA提供了如下三种常用的循环语句: ForNext Do WhileLoop Do UntilLoop,35,3、ForNext 语句,格式如下: For = To Step Next ,36,【实例4】求偶数和,制作窗体“求偶数和”,添加控件如图: 在TEXT1中输入上界 单击“计算”按钮 结果显示在TEXT2中,例4见窗体:求偶数和,37,单击计算按钮驱动程序代码,Private Sub 计算_Click()

17、 Dim n, s n = Forms!求偶数和!Text1 s = 0 For i = 2 To n Step 2 s = s + i Next i Forms!求偶数和!Text2 = s End Sub,38,4、Do WhileLoop,格式如下: Do While Loop,39,【例5】程序运行后,消息框输出结果是多少?,Dim a,b,c As Integer a=10:b=1:c=1 Do While c=a b=b*2 c=c+1 Loop Msgbox b (210=1024) Msgbox c (11),40,5、Do UntilLoop,格式如下: Do Until L

18、oop,41,【例6】用Do UntilLoop 完成【例4】,Dim a,b,c As Integer a=10: b=1: c=1 Do Until ca b=b*2 c=c+1 Loop Msgbox b Msgbox c,Dim a,b,c As Integer a=10:b=1:c=1 Do While c=a b=b*2 c=c+1 Loop Msgbox b Msgbox c,42,8.4 模块的调试,调试工具栏 断点设置 跟踪程序的执行 添加监视点 在“本地窗口”查看数据 VBA程序运行的出错处理,43,8.5 宏与模块的关系,模块可以完成更加复杂的任务 如果一个任务可以利用宏

19、来完成,就不必使用模块 Access可以将宏转换成模块。 (见下页),44,将宏转换成模块,选中要转换的宏 选择菜单【工具】-【宏】如图,45,8.6 VBA程序设计入门,面向对象的程序设计概述 1)类、对象、集合 2)属性和方法 3)事件和事件过程,46,8.7 VBA的数据库编程基础,VBA访问的数据库类型 数据库引擎及接口 DAO ADO 常用的数据库编程函数 (1)Nz函数 (2)Dlookup函数,47,省考试大纲对模块的基本要求,【考试要求】 宏有一定的局限性,当利用宏不能解决复杂的要求时,就需要使用模块来完成,在Access中创建模块使用的是VB语言,它是一种面向对象的语言。要求考生了解模块以及创建模块所必须的面向对象的程序设计概念,能够在模块中加入过程,在模块中执行宏;编写事件过程。掌握面向对象程序设计的基本概念;VBA编程环境。VBA编程基础:常量、变量、表达式;VBA程序流程:顺序控制、选择控制、循环控制。 【主要考点】 模块的基本概念: (1) 类模块 (2) 创建模块 (3) VBA程序设计,48,End !,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1