全国二级ACCESS教程 第8章 模块与VBA编程基础
时间:2025-04-12
时间:2025-04-12
Access数据库程序设计
第8章 模块与VBA编程基础授课教师:邓广彪
联系电话:13978773357电子邮箱:342039882@
9.1.1 模块的基本概念模块是Access中的一个重要对象,它是以VBA声 明和过程作为一个独立单元进行保存的集合。 在前面操作的过程中,使用宏或者给按钮添加 固定的动作可以完成一定的任务,如关闭窗体、打 开窗体等。但是无法实现复杂的操作,如输入圆的 半径计算出圆的周长、面积等。使用VBA模块编程, 能够实现强大的数据处理功能,实现数据处理的自 动化。
模块的分类:类模块和标准模块。 类模块:窗体模块和报表模块中编写的程序都 属于类模块,是指在窗体或报表中所编写的程序, 它们都从属于自己的窗体或报表。 进入类模块的方法:在窗体或报表设计视图中 单击工具栏的“查看代码”按钮;或为窗体或报表 创建对应对象的事件过程;或点击“创建”选项卡 的“Visual Basic”。 窗体和报表模块具有局限性,其作用范围局限 在所属的窗体或报表内部,而生命周期则伴随着窗 体或报表的打开而开始,关闭而结束。
标准模块:存放公共使用的过程,即通过“模 块”对象新建模块的代码过程就是标准模块。 标准模块模块中的公共变量和公共过程具有全 局性,可供整个应用系统的所有对象使用。 3.将宏转换为模块 在宏设计区中点击“将宏转换为Visual Basic” 代码可以将宏转变为代码。
8.1.2 创建模块模块是以过程为单元组成,一个模块包含一个 声明区域和一个或多个子过程或子函数过程,声明 区域用于模块中模块共享的变量或公共变量。 过程是组成模块的基本单元,由VBA代码编写而 成,分为Sub子过程和Function函数过程。
② Function函数过程 以Function开始和End Function结束,Function函 数过程执行一系列操作,并 且有返回任何值。 格式: Function 函数名([参数]) 代码 End Function 调用:不使用Call调用,直 Sub和Function函数过 接用函数名调用。 程的详细使用见9.1.5。
① Sub子过程 以Sub开始和End Sub结 束,Sub子过程只执行一 系列操作,不返回任何 值。 格式: Sub 过程名([参数]) 代码 End Sub 调用:使用Call调用。
在模块中运行宏 在Access中定义了一个特殊的对象DoCmd,可以通 过它来运行宏,语法格式为: DoCmd.RunMacro "已定义好的宏名"[,重复次数][, 执行宏的条件] 如已定义好一个宏,名字叫“提示”,则使用命 令 DoCmd.RunMacro "提示" 可以运行这个宏。
8.1.3 VBA程序设计基础1、面向对象的基本概念 (1) 对象和集合 对象:现实中的每个物体都可以看成是一个对象, 如李四的汽车、张三这个人等。集合表示某类对象所 包含的实例
构成。 (2) 属性和方法 一个对象就是一个实体,每个实体都有自己的属 性,如汽车具有颜色、大小等属性,属性描述了对象 的特征。属性的引用方式:对象名.属性。 如:Command0.ForeColor = RGB(0, 0, 255)可以 改变按钮Command0的字体颜色。
方法描述了对象的行为,表示对象能进行的操作。 方法的引用方式:对象名.方法。 如:Command0.Move 5000, 3000 可以移动 Command0按钮的位置。 (3) DoCmd对象 Access数据库提供了表、窗体、报表等7种对象以 外,还提供了一个DoCmd对象,它的主要功能是功过调 用它的方法来实现VBA编程中对Access的操作,如可以 使用OpenForm方法来打开一个已经建立好的窗体。 调用格式:DoCmd.方法名 参数 如:DoCmd.OpenReport "ABC"
(4) 事件和事件过程 事件是由VBA预先设置好的,能够被对象识别的动 作,如Click单击、DblClick双击等。事件过程就是在 对应的对象上发生了对应的动作而执行的代码,在VBE 编辑窗口中选择了对应的对象和事件后,会自动出现 事件过程框架。 举例:如给一个窗体的某个按钮单击事件添加代 码,用MsgBox提示一段信息。
3、数据库类型和数据库对象 (1) 数据库对象 数据库对象是指数据库中的表、查询、窗体、报 表、控件等实际存在的对象,在VBA编程中都有对应的 数据类型与之相对应,见表9-1。 如:dim db as database 则 db 为数据库类型的变量,可以存储数据库对 象。
(2) VBA中的基本数据类型 Access数据库系统创建表对象时所涉及到的字段 类型(除OLE和备注类型外),在VBA中都有相应的数 据类型(P130表8-2中的“类型标识”)。所以在VBA 编程中要存储对应类型的值,那么就需要定义对应类 型的变量。
① 布尔数据类型 布尔数据类型只有True和False两个值。布尔数据 类型转换为其他数据类型时,True转换为-1,False转 换为0。其他类型转换为布尔数据时,0转换为False, 其他值转换为True。 ② 日期数据类型 任何可识别的文本日期数据都可以赋值给日期变 量,这个类型包括了日期和时间,在书写时日期的年 月日值用“/”或“-”隔开,时间的时分秒值用“:” 隔开,如果同时使用日期和时间在日期和时间中间用 一个空格隔开,所有的日期、时间数据必须写在一对 “#”号中。
③ 变体数据类型 变体数据类型时一种特殊的数据类型,除开定长 字符串类型和用户自定义类型外,可以存储任何其他 类型的数据。 如果没有用“dim as ”语句定义的变量或者定 义时不写“as ”的变量都默认为变体类型。 如:Dim a '这句可以省略 a = 5 MsgBox a a = "abcde" MsgBox a a = #6/5/1985# MsgBox a …… 此处隐藏:1425字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:UFO报表系统
下一篇:解析美国SAT改革对留学生的影响