欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第8章模块.ppt

    • 资源ID:2501546       资源大小:853.51KB        全文页数:48页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第8章模块.ppt

    第八章 模块,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,基本概念,模块由过程组成,每一个过程都由一个函数或一个子程序所组成。 过程(Procedure):是由VB代码组成的单元。它包含一系列执行操作或计算数值的语句和调用对象方法的语句。过程可分为函数(Function)过程和子(Sub)程序两种。,5,子程序,子程序:也称为Sub过程。是执行一项操作或一系列操作的过程。数据库中每个窗体或报表都有内置的窗体模块或报表模块,这些模块包含事件过程模板,可以向其中添加代码,使得当窗体、报表或其中的控件发生相应的事件时,执行相应的代码。许多向导(如命令按钮向导)在创建对象的同时也创建对象的事件过程。子程序以关键字“Sub”开始,并以“End Sub”语句结束。,6,8.2 模块的分类,两种类型:类模块和标准模块 类模块:类模块是可以定义新对象的模块。新建一个类模块,即新建了一个对象。模块中定义的任何过程都变成该对象的属性或方法。类模块既可以独立存在,也可以与窗体和报表同时出现。窗体和报表都属类模块,它们各自与某一窗体或报表相关联。(单击 按钮可查看窗体或报表的模块。) 标准模块:标准模块是指存储在整个数据库中可用的子程序和函数的模块。标准模块包含通用过程和常用过程,通用过程不与任何对象相关联,常用过程可以在数据库中的任何位置运行。,7,标准模块与类模块的主要区别,标准模块与类模块的主要区别在于其作用范围和生命周期。 窗体或报表模块中的过程可以调用已经添加到标准模块中的过程。Access 2000以前版本的类模块只能在与窗体或报表相关联时出现。而Access 2000以及更高版本中的类模块不仅可以脱离窗体或报表独立存在,而且可以在数据库窗口对象栏的模块列表中显示。,8,8.3 模块的创建与调用,通过向窗体或报表上的事件添加代码来创建一个事件过程,也可以在类模块或标准模块中创建函数过程或子程序。 创建模块的一般操作步骤如下: (1) 在“模块”中单击“新建”按钮; (2) 在模块编辑窗口中编辑模块程序。,9,一个简单的Sub过程,【例1】 创建一个Sub过程,自动弹出一个系统使用说明信息框。 本例只有一句话:调用函数MsgBox显示一段文字 Private Sub aa() MsgBox (“单击“进入系统”按钮,打开教务管理系统;单击“退出系统”按钮,关闭教务管理系统,并退出Access。“) End Sub,Sub结尾,Sub开头,例1见窗体:启动,10,模块的调用(方法1),在模块编辑窗口中, 选择菜单“运行” “运行子过程/用户窗口” 或按F5键,特别注意: 运行时,要要将光标 置于过程体中任意位置。,11,模块的调用(方法2),使用调用语句Call 格式:call 子过程名(参数表) 说明:使用Public定义的可以使该子过程适用于所有模块中的所有其它过程;使用Private定义的子过程只适用于同一模块中的其它过程。 实例: Sub abc() End sub,Sub ss() Call 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、设置窗体“改变字体”中的标签Label1的字体为加粗 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 = “ 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.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,输出操作,消息框 (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.GoToRecord , , acPrevious,24,VBA的基本控制结构,结构化程序设计方法有三种基本的程序控制结构: 顺序结构 分支(选择)结构 循环结构。,25,分支(选择)结构,VBA提供了如下两种常用的选择语句 If语句 -分支结构 Select Case语句 -多分支结构,26,1、IF 语句,格式: If Then Else End if,27,【实例2】验证密码,设计一个验证密码窗体,单击“确定”时,使用过程验证密码正确与否(正确密码大写ASDF) 如果不对,信息窗标题“验证”,提示“密码错误,请重新输入!”, 单击“重试”按钮时,将密码清空,焦点落在文本框; 若输入正确,打开主控面板,并关闭当前窗体(验证密码)。,例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 Case Else End Select,30,【实例3】评价等级,制作窗体“A班成绩表”,添加2个按钮如图: 单击“下(上)一记录”按钮,显示下(上)一记录的信息,并在信息框显示该生等级 等级标准:平均分 XX=60,及格 80X=70,中等 90X=80,良好 =90,优秀,例3见窗体: A班成绩表,31,添加翻页按钮操作步骤,添加按钮,在弹出的向导中,选择记录导航:转至下(上)一项记录 关闭向导后打开事件过程 在事件过程中的语句 DoCmd.GoToRecord , , acNext 之后添加如下页程序 :,32,“下一记录”单击事件驱动程序代码,Private Sub Command1_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_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 = 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() 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 Loop,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 宏与模块的关系,模块可以完成更加复杂的任务 如果一个任务可以利用宏来完成,就不必使用模块 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 !,

    注意事项

    本文(第8章模块.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开