Access 2003 宏和模块

上传人:hy****d 文档编号:242962880 上传时间:2024-09-12 格式:PPT 页数:50 大小:1.15MB
返回 下载 相关 举报
Access 2003 宏和模块_第1页
第1页 / 共50页
Access 2003 宏和模块_第2页
第2页 / 共50页
Access 2003 宏和模块_第3页
第3页 / 共50页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二层,第三层,第四层,第五层,*,第7章,宏和模块,在Access中,除了数据表、查询、窗体、报表和数据页外,还有两个重要的对象,即宏和模块。用户不需要了解语法,也不需要进行编程,只是利用几个简单的宏操作就可以将已经创建的数据对象联系在一起,实现特定的功能。,本章要点,7.1 宏的概念和基本操作,7.2 宏的高级应用,7.3 Visual Basic简介,1,7.1 宏的概念和基本操作,7.1.1宏的概念,宏是Access 2003中执行选定任务的操作或操作集合,其中的每个操作实现特定的功能,是由Access本身提供的,有了宏可以使多个任务同时完成,使单调的重复性操作自动完成。宏是一种特殊的代码,不具有编译特性,没有控制转换,也不能对变量直接操作。,宏也是一种操作命令,它和菜单操作命令是一样的,只是它们对数据库施加作用的时间有所不同,作用时的条件也有所不同。菜单命令一般用在数据库的设计过程中,而宏命令则可以在数据库中自动执行。,在Access中,一共有53种基本宏操作,这些基本的宏操作还可以组合成很多其他的“宏组”操作。实际上很少单独使用这些宏命令,常常是将这些宏命令排成一组,按顺序执行,以完成一种特定任务。这些宏命令可以通过窗体中控件的某个事件操作来实现,或在数据库的运行过程中自动实现。,Access定义了许多的宏操作,这些宏操作可以完成以下功能。,(1)窗体和报表中的数据处理。,例如,移动窗口,改变窗口大小,打开、关闭表单或报表,打印报表,执行查询等。,(2)数据的导入、导出。,2,7.1 宏的概念和基本操作,(4)执行任意的应用处理模块。,(5)为控制的属性赋值。,7.1.2宏的创建,和创建其他的Access对象一样,创建宏的过程也是在设计视图中完成的。与创建其他对象不同的是,创建宏的基本操作都是由系统完成的,用户只需对其中某些属性进行设置即可。,在Access中如果只是建立一个小型的数据库,通过使用Access丰富的宏功能完全可以实现,而无需使用更复杂的VBA。,创建宏和宏组的区别在于:创建宏可以用来执行某个特定的操作,创建宏组则是用来执行一系列操作。,宏是Access将要自动执行的任务列表,对于必须重复执行的任务应考虑创建宏,这些任务包括打开和关闭窗体、打印报表以及在窗体上设置控件值。,1利用设计视图创建宏,宏设计视图用于宏的创建和设计,类似于窗体的设计视图。利用宏设计试图创建宏的操作如下。,3,7.1 宏的概念和基本操作,(1)打开要创建宏的数据库窗口。,(2)在“对象”列表中选择“宏”对象,然后单击数据库工具栏上的“新建”按钮,进入宏设计视图,如图7-1-1所示。,宏设计试图的上半部分有两列,左边“操作”列为每个步骤添加操作,右边“注释”列为每个操作提供一个说明,说明数据被Access所忽略。在宏的设计试图中,还隐藏了 “宏名”和“条件”两列。单击工具栏上的“宏名”按钮和“条件”按钮就可以显示这两列。,(3)单击“操作”字段列的第一个单元格,再单击右侧向下箭头符号,打开宏操作下拉列表,从该列表中选择一个宏操作。,(4)在设计视图的下半部分,可对所选宏操作的操作参数进行设置;同时所选定的操作的解释说明出现在设计视图的右下角。如图7-1-2所示。,4,7.1 宏的概念和基本操作,图7-1-1 宏设计视图窗口 图7-1-2 设置宏操作,5,7.1 宏的概念和基本操作,可以直接在宏的设计视图的“操作”列中输入操作名,也可以从宏操作下拉列表中选择。当添加一个操作后,应当在“注释”列中加入说明性的文字,便于将来使用时易于理解。,(5)重复步骤(3)(4)的操作,直到输入所有的宏操作。,在定义一个或多个宏操作后,可能需要对其中的某些操作顺序进行改变。单击操作所在行端,该行将反色显示,此时可将它拖动到想要改变的位置。,2拖动数据库对象添加宏,除了可以在宏的设计视图中创建宏外,还可以利用拖动数据库对象的方法完成相应的宏操作。如果要快速创建一个在指定数据库对象上执行操作的宏,可以从数据库窗口中将对象直接拖放到宏设计视图窗口的操作行。,(1)在数据库窗口“对象”列表中选择“宏”对象,单击“新建”按钮,打开宏的设计视图窗口。,(2)单击“窗口”“垂直平铺”命令,使窗口都显示在屏幕中。如图7-1-3所示。,6,7.1 宏的概念和基本操作,图7-1-3 排列所有的窗口,7,7.1 宏的概念和基本操作,(3)在数据库窗口中单击要拖动的对象类型的组建选项卡,从中选取相应的数据库对象,并拖动到某个操作行内。如果拖动的是宏,则添加执行此宏的操作;如果拖动其他对象,则将添加打开相应对象的操作。如图7-1-4所示。,图7-1-4 将对象拖动到宏“设计视图”窗口,8,7.1 宏的概念和基本操作,(4)单击宏设计视图窗口工具栏上的“宏名”按钮,在宏的设计视图窗口的最左侧添加一个“宏名”列,在此处可以为创建的宏命名。,3保存和复制宏操作,前面讲述了创建宏的过程。对于宏的创建,除了需要进行保存以外,有时还需要对宏进行复制。,在创建宏之后必须进行保存,否则无法将其应用到窗体或报表等数据库对象。单击工具栏上的“保存”按钮,可以保存宏。虽然在运行尚未保存的宏时,Access会请求对宏进行保存,此时也可以对宏进行保存,但这样又可能造成意想不到的错误。,在Access中,用户可以对整个宏进行复制,也可以只对宏中的某个操作进行复制。在复制某个操作时,需要单击“行选定器”选定要复制的操作,然后再单击工具栏上的“复制”按钮将选取的内容进行复制。,9,7.1 宏的概念和基本操作,7.1.3为宏操作设置条件,对宏操作进行一定的条件设置是非常必要的,如果没有为宏指定任何条件,用户每次进入数据库的时候,所指定的宏操作都要执行。那么就必须对宏操作设置一定的条件以控制其运行。,其操作原理是:条件是逻辑表达式。宏将根据条件结果的真或假而沿着不同的路径执行。如果这个条件为真,则Access将执行此行中的操作;在紧跟此操作的“条件”栏内输入省略号,就可以使Access在条件为真时执行这些操作;如果这个条件为假,Access则会忽略这个操作以及紧跟着此操作且在“条件”字段内有省略号的操作,并且移到下一个包含其他条件或“条件”字段为空的操作。,宏条件最多可达255字符。如果条件比限定的长,可转而使用VBA程序。,用户可按照以下步骤对宏操作设置条件。,(1)单击数据库窗口中“对象”列表中的“宏”对象,用鼠标右键单击要修改的宏,在弹出的快捷菜单中选择“设计视图”命令。,(2)选择需要设定条件的操作,将光标移动到该操作的“条件”行中,如果在宏设计视图中没有显示“条件”列,可以单击工具栏上的“条件”按钮,如图7-1-5所示。,10,7.1 宏的概念和基本操作,(3)在选取的“条件”行中,根据需要输入相应的条件表达式。用户可以使用“表达式生成器”创建表达式,单击工具栏上的“生成器”按钮,可以打开“表达式生成器”对话框,如图7-1-6所示。,图7-1-5 显示“条件”字段 图7-1-6 “表达式生成器”对话框,注意:“条件”行中的省略号表示当宏组中的条件为“真”时,可以连续执行下面的,操作。,11,7.1 宏的概念和基本操作,7.1.4宏的运行,在创建了宏之后,可以在不同的位置上运行宏。通常有以下几种方法。,(1)在数据库窗口中选择“宏”对象,双击相应的宏名运行该宏。,(2)在宏的设计视图窗口中,单击工具栏的执行按钮,执行正在设计的宏。,(3)在菜单栏中单击“工具”“宏”“运行宏”菜单命令,弹出“执行宏”对话框,输入要运行的宏的名称。如图7-1-7所示。,(4)在窗体、报表、空间和菜单中调用宏。,(5)将宏的名字设为“AutoExec”,则在每次启动该数据库时,将自动执行该宏。,(6)宏还可以嵌套执行,即在一个宏中可以调用另一个宏,在宏中加入操作RunMacro,并将操作RunMacro的参数“宏名”设为想要执行的宏,如图7-1-8所示。,12,7.1 宏的概念和基本操作,图7-1-7 “执行宏”对话框 图7-1-8 宏的嵌套,13,7.1 宏的概念和基本操作,7.1.5常用宏操作,Access在宏操作列表中提供了53种操作。在宏中添加了某个操作之后,可以在设计视图的下部设置这个操作的参数,通过参数向Access提供如何执行操作的附加信息。,Access常用的宏操作及其功能如表7-1-1。,7.1.6项目实现,通过从宏内部运行查询并且让此宏显示包含警告消息文本的小窗体。,(1)打开“学生管理”数据库,在“对象”列表中选择“窗体”对象,双击“在设计视图中创建窗体”选项,新建一个窗体,如图7-1-9所示。,(2)单击工具箱中的“标签”按钮,添加一个标签至窗体,输入查询运行时所要显示的消息,如图7-1-10所示。,(3)单击工具栏上的“属性”按钮,调出“窗体”对话框,在对话框的“全部”选项卡中,设置此窗体的“滚动条”属性为“两者均无”,“弹出方式”属性为“是”,“记录选择器”属性为“否”,如图7-1-11所示。,(4)保存并关闭该窗体,取名为“警告消息”,如图7-1-12所示。,14,7.1 宏的概念和基本操作,图7-1-9 创建一个新窗体 图7-1-10 输入要显示的消息,15,7.1 宏的概念和基本操作,图7-1-11 对创建的窗体进行设置 图7-1-12 保存窗体为“警告消息,16,7.1 宏的概念和基本操作,(5)在“学生管理”数据库窗口中,选择“宏”对象,单击“新建”按钮,进入宏设计视图中,单击第1行“操作”栏中的单元格,然后单击向下箭头符号,在打开的“操作”下拉列表中选择“Openform”选项,在“窗体名称”下拉列表框中选择“警告消息”窗体,如图7-1-13所示。,(6)单击第2行“操作”栏,选择“OpenQuery”操作,在“操作参数”栏中,设置“查询名称”为想要运行的查询名,这里选择“学生出勤记录 查询”,如图7-1-14所示。,图7-1-13 设置“OpenForm”操作 图7-1-14 设置“OpenQuery”操作,17,7.1 宏的概念和基本操作,(7)单击第3行“操作”栏,选择“Close”操作,在“操作参数”栏中,设置“对象类型”为“窗体”,设置“对象名称”为“警告消息”,如图7-1-15所示。,(8)保存并关闭宏,取名为“宏2:警告消息”,如图7-1-16所示。,图7-1-15 设置“Close”操作 图7-1-16 保存宏,18,7.2 宏的高级应用,在Access中,宏所能够完成的操作功能是十分强大的。用户可以通过建立宏组在宏中完成更多、更复杂的操作,或将宏嵌套到另一个宏或宏组以自动完成特定的任务。,7.2.1创建宏组,在创建宏时,如果要将几个相关的宏结合在一起完成某项特定的复杂操作,而不希望对单个宏进行触发,那么用户可以将它们组织起来构成一个宏组。,宏组是在一个宏中包含若干个宏,这些宏都有各自的名称和相应的宏操作,当用户熟悉了许多宏的功能之后,可根据实际需求对宏进行不同的组合。,下面介绍在Access中创建宏组的方法。,(1)在数据库窗口“对象”列表中选择“宏”对象,单击“新建”按钮,打开宏的设计视图窗口。,(2)单击工具栏上“宏名”按钮,则在设计视图窗口中的上半部分的最左侧添加一个“宏名”列,如图7-2-1所示。,(3)在新添加的“宏名”列的第1个单元格中单击,然后输入宏组的名称“宏组1”,如图7-2-2所示。,19,7.2 宏的高级应用,图7-2-1 显示“宏名”列 图7-2-2 输入宏组的名称,20,7.2 宏的高级应用,(4)在“操作”列的第1个单元格中单击,然后单击向下箭头符号,在打开的下拉列表中选择“OpenTable”操作,在窗口的下方,选择操作参数,如图7-2-3所示。,在“表名称”中选择“学生出勤记录”,在 “数据模式”中选择“增加”。,(5)在“操作”列的第2个单元格中单击,然后单击向下箭头符号,在打开的下拉列表中选择“Close”操作,在窗口的下方,选择操作参数,如图7-2-4所示。,图7-2-3 设置“OpenTable”操作参数 图7-2-4 设置“Close”操作参数,21,7.2 宏的高级应用,在“对象类型”中选择“表”,在“对象名称”中选择“学生出勤记录”。,(6)保存宏组,用刚才在第(2)步中输入的“宏名”作为宏组的名字,同时,该名字也是显示在“数据库”窗口“宏”对象中的宏和宏组列表中的名字,如图7-2-5所示。,可以按照上述方法添加两个或多个宏组,每个宏组中也可以包含多个宏操作。,宏组是多个宏的集中管理,如果想要使用宏组中的某个宏,不能直接使用宏的名字,要使用语法“宏组名.宏名”。,图7-2-5 保存宏组,22,7.2 宏的高级应用,7.2.2宏的嵌套,在Access中,用户可以方便地完成对一个已有宏的引用,这可以节省用户的大量时间。如果要从某个宏中运行另外一个宏,可以使用RunMacro操作,然后将RunMacro的操作参数“宏名”设置为希望运行的宏名称。,RunMacro操作的效果类似于选择“工具”“宏”“运行宏”命令后再选择宏名。惟一不同之处在于选择“工具”“宏”“运行宏”命令只运行一次宏,而采用RunMacro操作可以多次运行宏。,注意:RunMacro操作除了“宏名”参数外还有两个参数,“重复次数”用来指定重复运行宏的最大次数,“重复表达式”,计算结果为“True”(-1)或“False”(0)。每次RunMacro操作运行时都会计算该表达式,当结果为“False”(0)时,则停止被调用的宏。,具体的方法按照以下步骤进行。图7-2-6 宏的嵌套,(1)打开数据库,在“对象”列表中单击“宏”对象,在右边的列表框中选中要嵌套的宏或新建一个宏。,(2)在操作列中单击单元格,在打开的下拉列表中选择“RunMacro”操作,然后在窗口下方的“操作参数”栏中的“宏名”文本框中设置为要引用的宏,如图7-2-6所示。,23,7.2 宏的高级应用,图7-2-6 宏的嵌套,24,7.2 宏的高级应用,根据需要设置“重复次数”和“重复表达式”。,利用宏的嵌套功能,用户在创建新宏时,便可以根据需要引用已创建宏中的操作了,而不用再在新建的宏中逐一添加重复操作。,用户还可以在Visual Basic程序中完成相同的操作,只要将RunMacro操作添加到Visual Basic程序中即可。,注意:每次调用的宏运行结束后,Access都会返回到调用宏,继续进行该宏的下一个操作。用户可以调用同一宏组的宏,也可以调用另一宏组中的宏。如果在“宏名”文本框中输入某个宏组的名称,则Access将运行该组中的第1个宏。,25,7.3 Visual Basic简介,宏就是由Visual Basic语言编写的。要在应用程序中执行某种操作,既可以使用宏,也可以使用Visual Basic。尽管宏的功能非常强大,使用也非常广泛,但有些活动则必须由Visual Basic实现,比如当要定义自定义函数执行计算或替代复杂表达式,Visual Basic的运行速度要比相同功能的宏快得多。,7.3.1 VBA编程的基本概念,Access 2003有支持面向对象编程的特性,可以算得上一种面向对象的关系型数据库。作为一个嵌入式二次开发引擎,VBA不但可以让用户完成Access本身所不具备的功能,而且使得Access 2003和其他Office程序共享一个公共的二次开发环境。,VBA是宏语言版本的Microsoft Visual Basic,它在语言级别上等价于Microsoft Visual Basic,在运行机制上,VBA是以伪代码(P-Code)的形式运行的。它的功能主要通过模块来实现的,是一种面向对象的编程方法。,1面向对象编程的思想,VBA是一种面向对象的编程方法,它具备模块化、分层化的特定,同时拥有一系列面向对象的基本特征,用户可以从中体会到面向对象编程的种种好处。,(1)面向对象的基本概念:面向对象编程中有以下几个重要的概念。,26,7.3 Visual Basic简介, 对象:对象是面向对象编程的基本概念,它指由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。它可以看成是一个独立的单元。, 类:类是指对具有相同数据和相同操作的一组相似对象的描述。, 实例:实例是由某个特定的类描述的一个具体的对象。可以说类是运行时创建对象实例的模板,按照这个模板建立的一个个具体对象,就成为类的实例。, 属性:属性是类中用于描述对象特征的数据,是对客观世界实体性质的抽象。属性由属性名和属性值组成。各个对象之所以能够分开,是因为它们的属性值不完全相同,比如区分不同的圆,就是看它们的圆心和半径,改变了这些属性值,就改变了圆这个对象的基本特征。, 方法:方法是对象所能执行的操作,换言之就是对象所能够提供的服务。VBA中的方法(服务)由过程或函数所组成。, 消息:消息是要求某个对象执行在定义它的那个类中所定义的方法的规格说明。VBA中定义的每个对象可以通过消息接受用户的操作并作出识别和响应。另外系统本身也能提供激活对象所需要的消息。,27,7.3 Visual Basic简介,(2)面向对象的特点:目前存在着多种类型的面向对象编程语言,不同类型的编程语言其具体事项各不相同,但它们的特点是一致的。, 抽象性:抽象性是指对一个类或对象需要考虑其与众不同的特征,而无需考虑类或对象的所有信息,以便于用户能够集中精力来使用对象的主要特征,而忽略对象的内部细节。适当的抽象可以使用户和程序员的工作得到简化。这是在面向对象的程序设计中普遍采用的一种策略。, 封装性:封装性是指将对象等属性和方法代码都集中在一个模块中,从而达到隐藏对象内部数据结构和代码细节的目的。对象好比一个黑盒子,对私有数据的访问或处理只能通过共有的方法来进行。用户可以自由使用一个对象而不必理解类的内部实现方法。, 继承性:继承性是指在面向对象的程序设计中,子类能够自动地共享基类中定义的数据和方法的性质。它使得相似的对象可以共享程序代码和数据结构,从而消除了类的冗余属性和方法。, 多态性:多态性是指子类对象可以像父类对象一样使用,同样的消息可以发给父类对象也可以发给子类对象。不同的对象按照它所属的类来动态选用方法来响应。,此外,面向对象还具有重载等特点,有兴趣的用户可以参考专门描述面向对象方法的书籍。,28,7.3 Visual Basic简介,(3)面向对象的优点:与传统的方法相比,面向对象的方法无疑具有更多的优点,这使它成为当今程序设计的发展方向。, 面向对象方法与人类的习惯思维方法吻合。,面向对象的方法使用显示世界的概念抽象地思考问题从而自然地解决问题。它用对象的观点把事物的属性和行为两方面的特征封装在一起,使人们能够很自然地模拟客观世界中的实体,以及按照人类思维的习惯方式建立起问题领域的模型。, 面向对象方法的可读性好。,采用面向对象的方法,用户只需要了解类和对象的属性和方法,而无需知道它内部实现的细节就可以放心地使用。, 面向对象方法的稳定性好。,面向对象方法以对象为中心,用对象来模拟客观世界中的实体。当软件的需求发生改变时,往往不需要付出很大的代价就能够做出修改,例如增加或删除个别对象,继承已有类的特征构造出行的子类事项功能修改或扩充。, 面向对象方法的可重用性好。,用户可以根据需要将已定义好的类或对象添加到软件中,或者从已有类派生出一个可以满足当前需要的类。这个过程就像用集成电路来构造计算机硬件一样。,29,7.3 Visual Basic简介, 面向对象方法的可维护性好。,面向对象的方法允许用户通过操作类的定义和方法,很容易地对软件做出修改。另一方面它使软件易于测试和调试。,2模块,模块一般是以VBA声明、语句和过程作为一个独立单元的结合。每个模块独立保存,并对处于其中的VBA代码进行组织。,Access 2003包含有两种基本类型的模块,一种是类模块,另一种是标准模块。,(1)类模块:类模块是指包含新对象定义的模块。当用户新建一个类的实例的同时也就创建了新的对象,在模块定义的任何过程都会变成这个对象的属性和方法。,一般地,类模块又可以分成3种。, 窗体模块:窗体模块是指与特定的窗体相关联的类模块。当用户向窗体对象中增加代码时,用户将在Access数据库中创建新类。用户为窗体所创建的事件处理过程是这个类的新方法。用户使用事件过程对窗体的行为以及用户操作进行响应。,30,7.3 Visual Basic简介, 报表模块:报表的表模块是指与特定的报表相关联的类模块,包含响应报表、报表段、页眉和页脚所触发的事件的代码,对报表模块的操作与对窗体模块的操作相类似。, 独立的类模块:在Access 2003中,类模块可以不依附于窗体和报表而独立存在。这种类型的类模块可以为自定义对象创建定义。独立的类模块列在“数据库”的窗口中,用户可以方便地在那里找到它。,(2)标准模块:标准模块是指存放整个数据库可用的函数和自程序的模块。它包含与任何其他对象都无关的通用过程,以及可以从数据库的任何位置运行的常规过程。,(3)独立的类模块与标准模块的区别:它们的主要区别在于范围和生命周期方面。独立的类模块没有相关的对象,声明的任何常量和变量都仅在代码运行的时候是可用的。,3过程,一个过程是一个VBA函数单元,过程被定义为子程序,在其他程序中通过名字访问。,过程可以分为两类:子过程和函数过程。,(1)子过程(Sub):子过程是指那些用来执行一个操作或多个操作,而不会返回任何值的过程。Access 2003中的事件响应模块常常使用子过程来创建。,(2)函数过程(Function):函数过程也可以简称函数,是指可以返回一个值的过程。这个特点使得用户可以在表达式中使用它们。VBA包含可很多内置的函数,用户可以很方便的从中调用它们。,31,7.3 Visual Basic简介,7.3.2 将宏转化为Visual Basic代码,如果要在应用程序中使用Visual Basic,用户可以将已有的宏转换为Visual Basic代码。如果希望整个数据库中都可以使用代码,用户可以直接在“数据库”窗口的对象“宏”中进行转换;如果要让代码和窗体、报表等数据库对象保存在一起,则可以在相关窗体或报表的设计视图中转换。,1在设计视图中转换,以窗体为例,将数据库中的窗体转换为Visual Basic代码,这样就可以将窗体和Visual Basic代码保存在一起了。,(1)打开“学生管理”数据库,单击“窗体”对象,选中其中的 “控制报表的操作” 窗体,然后单击“视图”“设计视图”命令,在设计视图中打开“控制报表的操作”窗体。,(2)在设计视图中,单击“工具”“宏”“将窗体的宏转换为Visual Basic代码”命令,弹出“转换窗体宏”对话框,如图7-3-1所示。,(3)清除第1个复选框,单击“转换”按钮,Access弹出“将宏转换到Visual Basic”消息框表示转换结束,如图7-3-2所示。,32,7.3 Visual Basic简介,图7-3-1 “转换窗体宏”对话框 图7-3-2 转换结束消息框,33,7.3 Visual Basic简介,(4)单击“确定”按钮关闭消息框,然后单击工具栏上的“代码”按钮,打开“Visual Basic编辑器”窗口,其中含有由宏转换的代码,如图7-3-3所示。,图7-3-3 转换后的Visual Basic代码,34,7.3 Visual Basic简介,当Access碰到Visual Basic代码行中撇号()时,将忽略该行撇号后的部分。在Visual Basic代码行中的任何部分,用户都可以使用撇号插入注释。,2从数据库窗口转换,从数据库窗口进行宏转换时,宏操作将被保存为全局模块中的一个函数,并在数据库窗口的“模块”对象中保存转化的宏。从“数据库”窗口中转换的宏可供整个数据库使用,且宏组中的每个宏不是转换成子过程,而是转换为不同的函数。,将在数据库中创建的宏转换为Visual Basic代码的操作步骤如下。,(1)单击数据库窗口中“对象”列表中的“宏”对象,然后在右边的列表框中选中需要进行转换的宏。,(2)单击“工具”“宏”“将宏转换为Visual Basic代码”命令,弹出“转换宏”对话框,如图7-3-4所示。,(3)单击“转换”按钮关闭对话框,Access将弹出“将宏转换到Visual Basic”的消息框,单击“确定”按钮结束转换过程,如图7-3-5所示。,35,7.3 Visual Basic简介,图7-3-4 “转换宏”对话框 图7-3-5 转换结束消息框,36,7.3 Visual Basic简介,除了上述方法以外,用户还可以选择“文件”“另存为”命令,或者用鼠标右键单击需要转换的宏,然后在弹出的快捷菜单中选择“另存为”命令。在弹出的“另存为”对话框中“将宏另存为”文本框中输入新的模块名,并从“保存类型”文本框中选择“模块”选项,然后单击“确定”按钮关闭对话框,这时Access弹出相应的“转换宏”对话框。,7.3.3 借助Visual Basic 实现宏功能,虽然宏很好用,但它的运行速度比较慢,也不能直接运行很多Windows程序,尤其是不能自定义某些函数。这样当需要对某些数据进行特殊分析时也就无能为力了。,由于宏具有这些局限性,所有Access为用户提供了Visual Basic 语言编写程序的能力,从而实现一些特殊的功能,然后将这些代码编译成拥有特定功能的“模块”,便于调用。,37,7.3 Visual Basic简介,1浏览“Visual Basic编辑器”窗口,既然要编写Visual Basic程序,就需要先了解Visual Basic的开发环境。Visual Basic的开发环境也就是“Visual Basic编辑器”窗口。,用户可以单击数据库窗口“对象”列表中的“模块”对象,然后单击工具栏上的“新建”按钮,打开“Visual Basic编辑器”窗口,如图7-3-6所示。,“Visual Basic编辑器”主要包括主窗口、模块代码窗口、工程资源管理器和模块属性窗口等4部分。所有的Visual Basic程序都是在模块代码窗口中编写的。,模块代码窗口是用来输入“模块”每步的程序代码的,工程资源管理器则用来显示该数据库中所有的“模块”对象。当用户单击这个窗口内的任一“模块”选项时,就会在模块代码窗口上显示该模块的Visual Basic程序代码,同时“模块属性”窗口上就可以显示当前选定的“模块”具有的各种属性。,38,7.3 Visual Basic简介,图7-3-6 “Visual Basic编辑器”窗口,39,7.3 Visual Basic简介,在Visual Basic中,由于在编写代码的过程中会出现各种难以预料的问题或错误,所以编写的程序很难一次通过,这时就需要一个专用的调试工具快速查找程序中的问题,以便消除代码中的错误。,“Visual Basic编辑器”中的“本地窗口”、“立即窗口”和“监视窗口”就是专门用来调试Visual Basic程序的。用户可以在“Visual Basic编辑器”窗口中选择“视图”“本地窗口”(“立即窗口”或“监视窗口”)命令打开“本地窗口”(“立即窗口”或“监视窗口”)即可。,2编写Visual Basic代码,现在介绍如何在“Visual Basic编辑器”中编写代码实现特定功能。用户可以利用Access提供的宏设计视图窗口创建一个消息框,也可以利用编写Visual Basic代码方法实现上述功能。,(1)在“Visual Basic编辑器”窗口中,单击“插入”“模块”命令,添加一个模块,然后再单击“插入”“过程”菜单命令,或单击工具栏上的“插入过程”按钮,打开“添加过程”对话框,如图7-3-7所示。,40,7.3 Visual Basic简介,在“添加过程”对话框中输入过程名称并选择过程的类型和作用范围,同时还可以指定过程中使用的变量在推出过程后是否保持其值不变。如果用户选择“把所有局部变量声明为静态变量”复选框,则在过程中Visual Basic自动在局部变量前面添加Static关键字。过程定义完毕后,单击“确定”按钮即可。,(2)切换到“Visual Basic编辑器”的“代码窗口”,上方右侧的文本框中显示的是刚刚添加的过程名,而在下方的空白区域只能给出新添加了两行代码,该“过程”用到的所有代码都将在这两行之间进行编写,如图7-3-8所示。,(3)在代码窗口中添加下列Visual Basic语句。,图7-3-7 “添加过程”对话框 图7-3-8 “模块代码”窗口,41,7.3 Visual Basic简介,上述语句中的“On Error GoTo welcome_Err”是用来测试Visual Basic运行中出现的异常错误,如果Visual Basic语句在运行过程中发生错误,则跳转到“welcome_Err:”语句后面的部分,弹出错误警告消息框。当程序运行到“Resume welcome_Exit”语句时,则又跳转到“welcome_Exit:”后面的“Exit function”语句,其功能为将程序跳出该函数。,如果程序没有出现任何错误,系统将忽略“On Error GoTo welcome_Err”语句,直接执行“Beep”语句和“MsgBox WELCOME! , vbOKOnly, ”。“Beep”语句可以在弹出对话框时发出嘟嘟的提示音,而“MsgBox WELCOME! , vbOKOnly, ”语句中的“MsgBox”就是在宏中完成相应功能的操作,“WELCOME! ”、“vbOKOnly”和“ ”分别对应MsgBox操作的3个操作参数。,(4)单击“保存”按钮保存代码,并给模块命名,如图7-3-9所示。图7-3-9 保存模块代码,关闭“Visual Basic编辑器”窗口,切换到“数据库”窗口,刚保存的模块的名称出现在“模块”对象列表框中。,42,7.3 Visual Basic简介,(5)单击数据库窗口“对象”列表中的“窗体”对象,在右边的列表框中选中“警告消息”窗体,单击“设计”按钮,在宏的设计视图中打开窗体,如图7-3-10所示。,(6)单击“属性”按钮,打开窗体的“属性”窗口,单击“事件”选项卡,然后在“键释放”文本框中选择刚建立的模块,如图7-3-11所示。,除了上面介绍的先在“Visual Basic编辑器”窗口编写代码,然后将其添加到窗体的事件属性实现宏操作以外,还可以通过窗体的事件属性打开“Visual Basic编辑器”窗口,然后再编写程序代码实现同样的功能。,图7-3-9 保存模块代码,43,7.3 Visual Basic简介,图7-3-10 实施操作的窗体 图7-3-11 “窗体”的属性窗口,44,7.3 Visual Basic简介,(1)单击数据库窗口“对象”列表的“窗体”对象,选择需要添加宏操作的窗体,然后单击“新建”按钮,弹出“新建窗体”对话框,如图7-3-12所示。,(2)在“新建窗体”对话框中选择“设计视图”选项,并单击“确定”按钮,弹出窗体的设计视图窗口,如图7-3-13所示。,图7-3-12 “新建窗体”对话框 图7-3-13 窗体的设计视图窗口,45,7.3 Visual Basic简介,(3)在设计视图窗口中,用鼠标右键单击窗体左上角的“窗体选择器”,并在快捷菜单中选择“属性”命令,在弹出的“属性”对话框中单击“事件”选项卡,如图7-3-14所示。,(4)将光标插入到“击键”文本框中,然后单击右侧出现的“生成器”按钮,弹出“选择生成器”对话框,如图7-3-15所示。,图7-3-14 “属性”对话框 图7-3-15 选择生成器,46,7.3 Visual Basic简介,(5)在“选择生成器”对话框中,选择“代码生成器”选项,然后单击“确定”按钮。,(6)Access打开“Visual Basic编辑器”窗口,如图7-3-16所示。,如果用户需要改变事件的触发时机,则单击“代码窗口”右上方的列表框,从中选择需要的事件。如果要对其他数据库对象或控件添加操作,则单击“代码窗口”左上方的列表框,从中选择合适的数据库对象或控件即可。,(7)按照前面介绍的方法编写Visual Basic程序代码并保存。,注意:用户可以在一个代码行中输入多个独立的语句,中间应使用冒号(:)隔开。如果语句很长,已经超出了屏幕宽度,用户还可以用行连续符号将语句写入下一行,用户只需在行的间断点处输入空格和一个下划字符(_),然后按“回车”键将光标移到下一行即可。,47,7.3 Visual Basic简介,图7-3-16 “Visual Basic编辑器”窗口,48,7.3 Visual Basic简介,3在Visual Basic中引用空间和属性,有时,用户需要在表达式中引用某个控件或属性值,则可以直接使用它们的名字进行调用。例如,要引用“学生”窗体上的“学生ID”文本控件,则可以在表达式中输入“Forms!学生!学生ID”。如果数据库对象或空间的名字中有空格,则必须用方括号将名字括起来。如果“学生”窗体是当前活动窗体,可以用Me代替标识符引用该控件(Me!Name)。,惊叹号(!)操作符标志随后的项目是用户自定义的内容,如果后面的项目是Access定义的内容,则用点符号(.)分隔。比如,要引用“学生”窗体中“学生ID”文本控件的“Enabled”属性,则输入“Forms!学生!学生ID.Enabled”。,49,7.3 Visual Basic简介,50,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!