




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九章 模块,第9章 模块,模块的基本概念 过程及模块分类 VBA 程序设计基础,模块的基本概念,Access的表、查询、窗体、报表和数据访问页不能相互驱动和调用。使用模块和宏可以将数据库中所有对象联系起来、统一管理,形成完整的数据库系统。 通过上一章对宏的学习,我们了解到可以利用宏来执行一系列简单的操作。但是如果要对数据库对象进行更复杂、更灵活的控制,就需要通过编程来实现。在Access中,编程是通过模块对象实现的。利用模块可以将各种数据库对象联结起来,从而使其构成一个完整的系统。它的功能比宏更强大,设计也更为灵活。,模块的基本概念 模块是Access的数据库中的一个重要对象。 模块是由VB
2、A(Visual Basic for Applications)语言编写的程序的集合。是以函数过程(Function)或子过程(Sub)为单元的集合方式存储。,模块的分类 模块可分成两种基本类型:类模块和标准模块。 类模块 类模块是可以定义新对象的模块。新建一个类模块,也就是创建了一个新对象。模块中定义的过程将变成该对象的属性或方法。,Access中的类模块可以独立存在,也可以与窗体和报表同时出现。窗体和报表模块是类模块的典型例子。窗体和报表模块通常都含有事件过程,该过程用于响应窗体或报表中的事件,可以使用事件过程来控制窗体或报表的行为,以及它们对用户操作的响应。,类模块:包含类的定义(属性和
3、方法)的模块。 类模块有三种基本形式:窗体类模块、报表类模块和自定义类模块。 类模块也可脱离窗体或报表而单独存在,这种类模块可在数据库窗口的模块中显示。,标准模块 在整个数据库中,可用的函数模块和子程序称为标准模块。 标准模块包含通用过程和常用过程。通用过程是不与任何对象相关联的过程。常用过程是可以在数据库任何地方执行的与其他对象无关的过程。,将宏转换为模块 在数据库窗口宏对象下选择宏选择“工具”菜单下“将宏转换为vb”。,过程及模块分类 (创建模块) 1. 模块 模块是由过程组成的,模块中的每一个过程都可以由一个函数或一个子程序组成。 2. 过程 过程:将VBA语言的声明和语句集合在一起,作
4、为一个命名单位的程序段(执行特定功能的语句块)。它包含许多语句和方法,以执行特定的操作或计算数值。,过程的二种类型: 子程序:执行一系列操作的过程。 函数过程:特殊的、能返回值的Function过程。 能否返回值,是过程和函数之间最大的区别。,函数过程 也称为Function过程,是一种能够返回具体值的过程,返回的值可以在表达式中使用。函数过程以关键字Function开始,并以End Function语句作为结束。,Public | Private Function函数名称(参数1 as 数据类型,参数2 as 数据类型)as 数据类型 语句块1 Exit Function 函数名=函数将要返
5、回的值 语句块1 End Function,Public 所有模块的所有其他过程都可调用 Private 适用于同一模块中的其他过程,子过程 : 子过程也称为Sub过程,是执行一项操作的过程。它没有返回值,子程序以关键字Sub开始,并以End Sub语句作为结束。 使用过程的主要优点:写一个功能模块,必要时可多次调用,若模块有错误,改正之后,则程序中所有引用它的地方都得到维护。,子过程格式: Public|PrivateStatic Sub 子程序名()As 数据类型 Exit Sub End Sub Public 所有模块的所有其他过程都可调用 Private 适用于同一模块中的其他过程 S
6、tatic 过程中的变量在模块打开期间始终有效,在数据库窗口对象下,双击“在设计视图中创建窗体”,在窗体中添加文本框,标签名称为“欢迎”,添加2个命令按钮,标题分别为“显示”和“清除”,然后选中“显示”按钮,单击“属性”按钮,选择“事件”选项卡,单击“单击”项中的“”,在代码窗口中输入vba语句。在代码窗口的对象框中选择“清除”按钮(命令2),在该过程中输入vba语句。在代码窗口的对象框中选择“form”,在该过程中输入vba语句。返回到窗体,单击窗体视图,分别单击显示和清除按钮,看运行情况。,例1,例2:在模块对象下创建函数过程,计算球的体积。操作步骤如下: 在模块对象下,单击“新建”按钮,
7、打开新建模块窗口,单击“插入”菜单上“过程”,在过程对话框中选择类型为“函数”范围为“公共的”,输入名称为“v”,单击“确定”按钮。在函数过程中填写vba语句。 Public Function V(R As Single) As Single V3.1416*R3*4/3 End Function 单击“视图”菜单上“立即窗口”,在立即窗口输入语句 : Print v(2) 显示结果:33.5104 计算半径为2的球的体积。,VBA 程序设计基础 面向对象程序设计的基本概念 1.对象 在VBA程序设计时,界面上的所有事物都可以称为对象。每一个对象都有自己的属性、方法和事件。用户是通过属性、方法
8、和事件来处理对象的。,属性和方法:描述了对象的性质和行为。 引用:对象.属性 或 对象.方法参数名表 对象的属性例:label0.caption=“学生成绩表” 对象的方法例:debug.print 2+3,DoCmd对象:有许多方法,如 Openform 打开窗体 例如:DoCmd.Openform “学生登记” GotoControl 将焦点移到窗体上的一个控件 SetFocus 将焦点移到窗体上的一个控件 FindRecord 查找记录 RunCommand执行Access菜单和工具条上的命令,2. 对象的属性和方法,打开当前数据库中的“雇员”窗体 DoCmd.OpenForm Empl
9、oyees, , , Title = Sales Representative 在立即窗口输入: Debug.print 2*3 结果为 6,方法的例子,省略的参数,3. 事件,事件:对象可辨认的动作,如单击鼠标、按下某个键等 事件响应代码:若为一个事件编写一段VBA代码,则在事件发生时执行代码,完成指定的动作。,窗体中添加文本框和命令按钮,命令按钮属性中“单击”事件中添加vba代码,然后窗体视图查看结果。Private Sub 命令2_Click() 文本0.FontSize = 20 End Sub,VBA编程环境,工程窗口 选择对象,属性窗口 选择对象的属性,代码窗口,选择事件,1. 进
10、入VBE编程环境,2. VBA 窗口 1) 标准工具栏,视图Microsoft Access按钮:切换Access 2000窗口 插入按钮:插入模块或过程 运行子过程/用户窗体按钮:运行模块中的程序 中断按钮:中断正在运行的程序 重新设置按钮:结束正在运行的程序 设置模式按钮:在设计模式和非设计模式之间切换 工程资源管理器按钮:用于打开工程资源管理器 属性窗口按钮:用于打开属性窗口 对象浏览器按钮:用于打开对象浏览器,3. 工程、属性、代码窗口,工程窗口:也叫工程资源管理器,显示应用程序中用到的模块文件列表。可控制代码窗口、对象窗口,以及对象文件夹的显示。 属性窗口:所选对象的属性列表。可“按
11、字母序”和“按分类序”查看属性,编辑这些对象的属性。 在属性窗口显示Access类对象的方法:先在设计视图中打开对象。再双击工程窗口上的一个模块或类,代码窗口就会显示相应的指令和声明。 代码窗口:用于输入和编辑VBA代码。,4. 在代码窗口中编程 (三),对象列表,过程列表,提示信息自动显示或Ctrl+J,F1:VBA帮助窗口 F2:对象浏览器窗口,常量、变量、运算符和表达式,一、数据类型和数据库对象 在 Visual Basic环境下进行计算时,常常需要临时存储数据。像大多数编程语言那样,Visual Basic使用变量来存储值。变量有名字和数据类型。变量的数据类型决定了如何将这些值存储到计
12、算机的内存中。在声明变量时也可指定它的数据类型,所有变量都具有数据类型,以决定能够存储哪种数据类型。用户可以定义各种数据类型。 Access中数据类型的应用:声明过程中的变量,定义表、函数的参数等。 VBA的数据类型表,VBA主要数据类型,数值型数据的符号: 整型 %、长整型 c1, c2=;c2, c3=;c3, c4=;c4, End Sub 这是一个Sub子过程,它有两个单精度型的参数a和b,参数的值均由调用程序传过来,然后在Sub过程中进行运算和输出。 例如,compute ( 18,3)或 call compute (18,3),在过程中可以对给出的条件进行测试,并根据测试的结果确定
13、是否退出过程,如果要退出过程则使用Exit Sub子句,例如可以修改上面的compute过程,代码如下: Private Sub compute(a As Single,b As Single) If b=0 then Exit Sub End If c1=a+b c2=a-b c3=a*b c4=a/b Print c1=;c1, c2=;c2, c3=;c3, c4=;c4, End Sub,例:编写 将2个数按大小排序的子过程。,2. 函数过程的定义和调用 过程使用起来很方便,但如果需要返回参数,就要用到函数了。在VBA中,提供了大量的内置函数。比如字符串函数Mid()、统计函数Max(
14、)等。在编程时直接引用就可以了,非常方便。 但有时我们需要按自己的要求定制函数,比如我们需要计算半径为R的圆的面积A:A=3.14*R2。但是,圆的半径是不确定的。我们不可能为每一个不同半径的圆来写上相似的一段代码。这时就需要使用函数。 用Function 语句可以声明一个新函数、它接受的参数、返回的变量类型及运行该函数过程的代码。其语法形式如下: Public|PrivateStaticFunction 函数名() As 数据类型 函数名= Exit Function 函数名= End Function,对函数使用Public关键字,则所有模块的所有其他过程都可以调用它。用Private关键
15、字则使这个函数只适用于同一模块中的其他过程。当把一个函数说明为模块对象中的私有函数时,就不能从查询、宏或另一个模块中的函数调用这个函数。 包含Static关键字时,只要含有这个过程的模块是打开的,则所有在这个过程中无论是显式还是隐含说明的变量值都将被保留。,可以在函数名末尾使用一个类型声明字符或使用As子句来声明被这个函数返回变量的数据类型。如果没有,则VBA将自动赋给该变量一个最合适的数据类型。 例如:求圆面积函数: Public Function A (R As Single) As Single A=3.14*R2 求半径为R的圆的面积A End Function 这样,一个面积函数就完
16、成了。调用它时非常方便。如果要计算半径为5的圆的面积,只要调用函数A: A(5) 或者编写一个全局过程调用函数过程。,函数过程可以被查询、宏等调用。对于数据库中的计算控件特别有用。 Public Function A(R As Single) As Single A = 3.14 * R 2 End Function Public Sub mj() Dim R As Single R = InputBox(请输入半径值) msgbox A(R) End Sub,二、参数传递 过程定义时可以设置一个或多个形参,之间用逗号分隔。形参得完整定义格式 调用过程的程序所带参数为实参,实参可以是一个固定的
17、值(常量)例如 5,可以是一个表达式5*2,可以是一个已经赋值的变量 例如:j 被调过程中一定要有接收实参的形参变量,可以是一个定义了的数据类型,一定要与实参的变量类型一致。,常用操作方法 一、打开和关闭窗体 二、打开和关闭报表 三、输入框 四、消息框 五、VBA编程验证数据 六、计时事件,一、打开窗体或报表 1)命令格式 DoCmd.OpenForm formname_ ,view,filtername,wherecondition,datamode,windowmode DoCmd.OpenReport reportname_ ,view,filtername,wherecondition
18、 注意:当后面若干参数全部省略时,各“,”可以省略; 但当中间的若干参数被省略,最后还有其他参数时,中间的“,”必须写全,例如: DoCmd.OpenForm “学生管理”,acFormEdit DoCmd.OpenReport “学生信息表”,二、关闭窗体或报表 DoCmd.Close objecttype, objectname, save Objecttype-acForm, acReport, acDataAccessPage, acTable, acQuery, acMacro 例:DoCmd.Close 关闭当前窗体 DoCmd.Close acForm,“学生管理” DoCmd.Close acR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年稀油润滑站项目可行性研究报告
- 2025年磨刀棍项目可行性研究报告
- 2025年石拼花项目可行性研究报告
- 静脉采血技术评估流程
- 争做四有好老师在新媒体时代的挑战
- 建筑项目施工进度与质量控制措施
- 机场建设工程文明施工费用管理计划
- 2025年度幼儿园艺术教育计划
- 多元化英语复习计划与实践
- 物流项目管理机构及其职责定义
- 工程设计费收费标准
- 天车安全检查表
- 海姆立克急救(生命的拥抱)课件
- 土方回填试验报告
- 越南语基础实践教程1第二版完整版ppt全套教学教程最全电子课件整本书ppt
- 大数据与会计-说专业
- 工程项目样板引路施工方案
- 必备空调安装免责协议书范文优选七篇
- (自考)财务管理学完整版课件全套ppt教程(最新)
- NX_Nastran_超单元指南_cn
- 校服评标方法及打分表
评论
0/150
提交评论