access讲义11-模块.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 模块 本章概述 本章讨论VBA中类模块、标准模块及过程等相关的概念,讨论模块与过程的关系,学习创建子过程的方法,学习过程调用及参数传递的规则并将其应用在程序设计中,还要进一步讨论变量的作用域及生命周期。通过本章的的学习,应该能够: 本章要点 理解类模块、标准模块及其区别 描述模块与过程的相互关系 理解Sub子过程及Function子过程 定义过程并编写过程代码 准确的描述变量的作用范围及生命周期 理解事件及事件驱动 11.1概述 实际上我们在程序设计时,首先将整个系统分解成若干个独立的子系统,然后对子系统进行编程、调试,这种设计方法充分体现了模块化程序设计的思想。在Access中,模块是一个重要的对象,它是用户开发应用程序的基本手段。 11.1.1模块 模块是以VBA语言作为基础的来进行编程的。模块的存储方式主要以函数过程(Function)或子过程(Sub)存在。模块可分为类模块和标准模块。 1.类模块 类模块属于Access数据库对象,它主要包括窗体模块、报表模块和自定义模块。如果用户想把过程的作用局限在模块内部,可以在初始化过程时加上Private,同样,如果用户想把过程作用于全局范围,也可以在初始化过程时加上Public。 2.标准模块 标准模块一般用于存放供其他Access数据库对象使用的公共过程,通常设计一些公共变量或过程供类模块里的过程调用。应用程序可以从任何其他对象中引用标准模块的过程。用户可以单击Access数据库窗口对象中的模块对象,查看数据库的标准模块列表。 3.类模块和标准模块的区别与联系 类模块和标准模块的不同点在于它们存储数据的方式不同。标准模块的数据只有一个备份,这就意味着标准模块中的公共变量发生变化时,如果在其后面的程序中再次读取该变量值时,那么得到的将是变量变化后的值。而类模块的数据,则是由类实例创建的,它独立于应用程序。 同样,类模块和标准模块的变量作用域不同。类模块的变量作用域存在于类实例对象的存活期,它随对象的创建而创建,随对象的撤消而撤消;标准模块的变量作用域存在于应用程序的存活期,当其变量声明为Public时,则它在工程的任何地方都是可见的。 11.1.2 过程与模块 过程是VBA代码的容器,在Access中有三种类型的容器,它们分别是子程序、函数过程和属性过程。虽然它们的功能可以组合,但是每种过程都有其独特的功能。一个模块由若干个函数过程或子过程组成。 另外,在学习窗体或报表时,经常要从工具栏中选取某些控件,放置在窗体或报表上。这些控件就是对象,其中封装了一些属性或方法,用户可以根据设定使用。对于同一种控件,设定的属性不同,其表现的形式就不同,从而产生的实例也就不同。 将宏转化为等效的模块,从而提高运行速度。虽然模块和宏的使用很相似,但是宏的使用有一定的局限性,有些复杂的条件或程序结构,只能利用模块来实现。 将宏转化为模块的操作如下。 在Access数据库窗口对象中单击宏对象,选中要转化为模块的宏,使用工具菜单下的“将宏转化为Visual Basic代码”命令来实现转化。如图11.1所示。 图11.1 将宏转化为VBA代码 11.2过程的定义与参数传递 一个模块中通常包含一个或多个过程,模块功能的实现就是通过执行具体的过程来完成的,在本节中,我们将结合实例介绍过程创建、过程调用和参数传递的使用。VBA程序中的过程分为两种类型,Sub子过程和Function函数过程。 11.2.1 Sub子过程的定义与调用 Sub子过程是由Sub语句开始,以End Sub 语句结束。 Sub过程一般用于实现一个具体任务的操作,Sub过程不返回值。定义格式如下: [Public|Private][Static]Sub子过程名([〈形参表〉])[As数据类型] [〈子过程语句〉] [Exit Sub] [子过程语句] End Sub 使用Public关键字可以使该过程被所有模块中的过程调用;使用Private关键字可以使该子过程只能被同一模块中的其他过程调用。 子过程的调用形式有两种: Call子过程名([〈实参〉]) 或 子过程名[〈实参〉] 下面结合实例,在VBE的代码窗口中直接插入代码编写子过程。 例11.1下面的代码实现了简单的子过程。 说明: 其中Int_Mul子过程求两个整数的积,并将其输出到立即窗口,在Demo子过程中调用Int_Mul子过程求5与8的积。 操作过程 在数据库窗口中,选中模块对象,单击“新建”,在打开的VBE中输入如下代码: Sub Demo( ) Call Int_Mul(5,8)

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档