第8章模块和VBA程序设计.ppt

上传人:京东小超市 文档编号:5982170 上传时间:2020-08-19 格式:PPT 页数:140 大小:937KB
返回 下载 相关 举报
第8章模块和VBA程序设计.ppt_第1页
第1页 / 共140页
第8章模块和VBA程序设计.ppt_第2页
第2页 / 共140页
亲,该文档总共140页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第8章模块和VBA程序设计.ppt》由会员分享,可在线阅读,更多相关《第8章模块和VBA程序设计.ppt(140页珍藏版)》请在三一文库上搜索。

1、贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 第8章 模块和VBA程序设计 本章主要内容本章主要内容 VBA程序设计基础 模块的概念 常用标准函数 VBA的程序结构 VBA程序运行错误处理 VBA的数据库编程 过程调用和参数传递 DOCMD对象及常用的 操作方法 梗 萝 壳 陆 营 俞 硬 捍 凤 耶 溜 故 尔 腐 垒 诱 鲸 孟 岳 坛 梆 野 喇 侠 借 继 登 稳 息 虑 附 痈 第 8 章 模 块 和

2、 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 1 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 本章概述本章概述 第8章 模块和VBA程序设计 在Access系统中,把宏、窗体和报表等对象结合起来 ,不用编写程序代码就可以建立功能较完善的数据库管理系 统。但宏的功能是有局限性的,它只能处理一些简单的操作 ,如果要实现功能强大的数据管理,以及灵活的控制功能, 宏对象就无能为力了

3、。这时,就需要编写程序模块来实现上 述的功能。本章介绍模块的概念和用来建立模块的VBA语言 的基础知识。 箍 检 岁 拣 催 地 吱 阿 厄 休 角 利 涧 挑 医 奏 仲 诈 瑶 烧 峦 酵 话 菱 咨 估 酶 枕 粤 蜜 橙 钻 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 2 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.1 8.1 模块的概念

4、模块的概念 模块对象是Access系统中所包含的7种对象之一, 模块和宏的使用有一些相似之处。宏是由系统自动生成的程 序模块,而模块对象是用VBA语言编写的,VBA是Office 软件中内置的编程语言,语法与Visual Basic兼容。 1.模块的分类 在Access中,模块分为类模块和标准模块两种类型。 (1)类模块 类模块包括窗体模块和报表模块,它们与各自的 窗体 或报表相关联。 窗体模块中的事件过程的代码用于响应窗体或窗体 上控件的触发事件。报表模块中的事件过程的代码用于 响应报表或报表上控件的触发事件。 第8章 模块和VBA程序设计 是 擅 跌 繁 垢 否 产 税 伞 忧 策 糕 爽

5、 肺 蘑 盲 醚 序 抹 痞 害 捶 钵 往 示 拽 闹 牺 幅 耍 外 蚀 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 3 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.1 8.1 模块的概念模块的概念 在窗体或报表的设计视图中,可以使用下面方法打开模 块代码的编辑窗口: 单击工具栏上的“代码”按钮。 为窗体或报表创建事件过程时,系统会自动打开模

6、 块代码编辑窗口。 窗体模块和报表模块的作用范围在其所属窗体或报表内部 ,并随着窗体或报表的打开而开始,随着窗体或报表的关闭 而结束。 类模块也可以不依赖窗体或报表而单独存在,并且这种 类模块的类型将列在“数据库”窗口中,显示用于新建数据库 对象和打开现有对象的快捷方式。类模块还可以为自定义对 象创建定义。 第8章 模块和VBA程序设计 委 驹 俄 稍 嘛 叠 泣 哨 扛 写 叭 镍 戊 俗 恳 贾 旷 闽 坛 像 仕 柔 黎 恋 绩 上 犹 妨 缮 狭 掸 调 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 4 贤 痪 末 倒 愧 誉

7、殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.1 8.1 模块的概念模块的概念 (2)标准模块 标准模块包含与任何其他对象都无关的常规过程,以及 可以从数据库任何位置运行的经常使用的过程。标准模块 和某个特定对象无关的类模块的主要区别在于其范围和生 命周期。 标准模块显示在数据库窗口的“模块”对象中,窗体、报 表和标准模块也都显示在“对象浏览器”对话框中。“对象浏 览器”对话框用于显示与当前项目有关和引用对象库中对象 、属性、方法

8、和常数的信息。 第8章 模块和VBA程序设计 闹 冗 腻 硬 满 胖 项 宁 咎 痪 宇 锁 态 缓 渴 拓 尖 否 堕 套 诽 兵 在 旗 侦 总 项 贬 舆 漳 鳞 稀 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 5 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.1 8.1 模块的概念模块的概念 2模块的组成 模块由声明区域和过程两部分组成,声

9、明区域用来声 明模块使用的变量,过程是模块的组成单元。过程分为两 种类型:子过程(Sub)和函数过程(Function)。 (1)子过程 子过程又称为Sub过程,可以执行一系列操作,无 返回值。定义格式如下: Sub过程名 程序代码 End Sub 可以引用子过程的名称来调用该子过程。在过程名 前加上关键字Call,可以显式调用一个子过程。 第8章 模块和VBA程序设计 国 邯 瘦 沿 毋 等 翔 蔼 仆 劫 娄 形 氏 淄 欣 嫡 胜 帖 剿 痘 峙 冤 僳 袁 绅 悬 怀 虐 蛾 涟 世 稳 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设

10、 计 6 例例8-18-1:下面是一个简单的验证密码的Sub过程。 Sub CheckPwd( ) Dim Pwd As String Pwd=InputBox(“请输入密码!”) If Pwd=”123456” Then MsgBox ”密码正确,欢迎进入系统!” Else MsgBox ”密码错误!” End if End Sub 详 罚 些 积 乖 瓮 衬 腐 幅 益 豪 次 舔 棕 展 疫 伴 揉 课 鹤 绦 缮 碰 督 廊 犬 伍 浪 抒 贱 尺 昌 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 7 贤 痪 末 倒 愧 誉 殆

11、 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.1 8.1 模块的概念模块的概念 (2)函数过程 函数过程又称为Funtion过程,可以执行一系列操作, 有返回值。定义格式如下: Function过程名 程序代码 End Function 调用函数过程时,需要直接引用函数过程的名称,而 不能使用Call来调用执行。 第8章 模块和VBA程序设计 亲 午 播 维 鸡 扫 点 悉 球 腰 暖 和 糜 兄 剥 溶 认 莫 爷 操 赤 实 仆

12、 笆 着 旗 秒 由 己 貉 共 蠢 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8 例例8-28-2:下面是编写求圆面积的函数过程。 Function Circle(r As Single) As Single Dim Circle As Single Circle=0 If r=0 Then MsgBox “圆半径必须是正数!” Endif Circle=3.14159*r*r End Function 霜 戮 我 武 嘶 扮 提 侦 提 感 射 苑 景 班 芳 忙 螺 褪 吗 朋 术 挛 芜 忘 闲 蛊 猎 近 返 仲 末 排

13、第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 9 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.1 8.1 模块的概念模块的概念 3将宏转换为模块 在Access系统中,可以将创建好的宏转换为等价的 VBA事件过程或模块的形式。根据要转换宏的类型不同 ,转换操作有两种情况,一种是转换窗体或报表中的宏 ,另一种是转换不属于任何窗体和报表的全局宏。 (1

14、)转换窗体或报表中的宏 转换窗体或报表中的宏具体步骤说明如下: 在设计视图中打开窗体。 执行“工具”菜单中的“宏”级联菜单中的“将窗体的宏转 换为Visual Basic代码”命令,屏幕显示“转换窗体宏”对 话框。 第8章 模块和VBA程序设计 窿 罗 丰 妒 懈 玉 氓 浴 哪 秦 理 淀 醛 腺 佑 决 瓶 现 懊 菇 弓 胺 裕 展 竟 榜 纫 攒 逸 鲍 又 乒 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 10 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟

15、琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.1 8.1 模块的概念模块的概念 在对话框中,单击“转换”按钮,屏幕显示“转换完毕”对话 框。 单击“确定”按钮完成转换,如图8.2所示。 将全局宏转换为模块的具体步骤 说明如下: 在数据库窗口中,单击“宏”对 象,选择要转换的宏。 执行“文件”菜单中的“另存为” 命令,打开“另存为”对话框, 如图8.3所示。 第8章 模块和VBA程序设计 (2)转换全局宏 狱 槐 涣 桩 祷 交 婿 载 队 观 判 护 喇 堂 江 泪 擎 靳 丸 注 吼 汤 粉 样 退 置 鉴 膛 斯 苇

16、 绍 选 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 11 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.1 8.1 模块的概念模块的概念 在对话框的“保存类型”下拉列表框中,选择“模块”列 表项,然后单击“确定”按钮,屏幕显示“转换宏”对话 框。 在对话框中单击“转换”按钮,屏幕显示“转换完毕”对 话框。 单击“确定”按钮完成转换。 返 回 第8

17、章 模块和VBA程序设计 舆 抬 汽 移 哦 锯 消 译 奸 润 钉 据 苞 和 梆 寇 颁 卵 澡 筷 钦 歇 疲 茹 奎 旭 苞 扬 姬 辟 唐 库 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 12 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 VBA是Visual Basic for Appl

18、ication的缩写,是 微软Office系列软件的内置编程语言,与Visual Basic具有 相同的语言功能。在VBA中,程序是由过程组成的,过程由 根据VBA规则书写的指令组成。一个程序包括语句、变量、 运算符、函数、数据库对象、事件等基本要素。在Access程 序设计中,当某些操作不能用其他Access对象实现或实现起 来很困难时,就可以利用VBA语言编写代码,完成这些复杂 任务。 第8章 模块和VBA程序设计 焰 甩 牧 艺 筐 悔 腹 昌 秸 菠 庇 颧 于 格 剃 巢 冬 猴 驹 伐 垂 掳 识 趣 爪 寒 悸 式 蹿 孵 耽 奄 第 8 章 模 块 和 V B A 程 序 设

19、计 第 8 章 模 块 和 V B A 程 序 设 计 13 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2.1 面向对象程序设计的基本概念 Access内嵌的VBA编程语言,采用的是目前主流的面 向对象编程机制和可视化编程环境,同时也提供了访问数 据库和操作数据表中记录的基本方法。 1对象和类 Access中的表、查询、窗体、报表、页、宏和模块等 都是数据库的对象,而控件是窗体或报表中的对象。每个 不同

20、的对象都通过不同的属性相互区分。对象的属性按其 类别会有所不同,而且同一对象的不同实例属性构成也可 能有差异。 8.2 VBA8.2 VBA程序设计基础程序设计基础 第8章 模块和VBA程序设计 潍 联 锥 呻 荆 臻 蔡 擂 装 逸 砒 翼 蔓 替 窘 渊 莉 坑 弦 辫 撂 辖 刘 罐 敢 扎 冻 诧 痕 嗓 聂 捆 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 14 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程

21、 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 具有相同属性和方法的对象就组成了类,在窗体或 报表设计视图窗口中,工具箱中的每个控件就是一个 类,而在窗体或报表中创建的具体控件则是这个类的对 象。而属于同一个类的两个对象是通过属性值来区分 的 。 Access中的表、查询、窗体、报表、页、宏和模块 对象也是类,称为对象类。Access数据库窗口左侧显示 的就是数据库的对象类,单击某个对象类可以打开相应 对象窗口。 对象除了属性以外还有方法。对象的方法就是对象 可以执行的行为。 第8章 模块和VBA程序设计 仇 讲 豺 彝

22、氮 抚 嫡 吭 抬 硼 奎 缘 显 话 摇 褂 卞 缸 匹 抢 噬 笑 住 蒜 躬 际 咀 虱 宅 恳 氢 乾 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 15 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 2属性、方法和事件 属性、方法和事件构成了对象的基本要素。属性描述了 对象的性质,例如,文本

23、框控件对象中的名称、字体的相关 属性等。 对象属性的引用方式为:对象.属性 方法描述了对象的行为,即在某个对象上执行的一个过 程,例如打开和关闭报表对象。 对象方法的引用方式为:对象.方法 事件是由Access定义好的,可以被窗体、报表以及窗 体或报表上的控件等对象所识别的动作 。在Access数据库 系统里,可以通过以下两种方式来处理窗体、报表或控件的 事件响应。 第8章 模块和VBA程序设计 亦 鼻 卷 总 么 符 凋 闺 邑 臻 遂 诽 钵 缮 师 旺 砚 方 缀 缴 摧 债 库 爪 淤 漱 晤 力 弥 交 墩 笆 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块

24、和 V B A 程 序 设 计 16 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 使用宏对象来设置事件属性。 为某个事件编写VBA代码过程,完成指定动作,这种代 码过程称为事件过程或事件响应代码。 Access中主要的对象事件,如下表所示 对象名称事件动作动作说明 窗体 OnLoad窗体加载时发载时发 生事件 OnUnLoad窗体卸载时发载时发 生事件 O

25、nOpen窗体打开时发时发 生事件 OnClose窗体关闭时发闭时发 生事件 OnClick窗体单击时发单击时发 生事件 OnDblClick窗体双击时发击时发 生事件 OnMouseDown窗体鼠标标按下时发时发 生事件 第8章 模块和VBA程序设计 路 凳 戍 兄 剐 圣 窑 趁 池 痞 胯 发 涵 星 乍 涸 尚 水 朴 岿 溪 秃 赌 匪 命 分 苞 扁 鲍 队 灯 杀 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 17 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉

26、扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 OnKeyPress窗体上键盘键盘 按键时发键时发 生事件 OnKeyDown窗体上键盘键盘 按下键时发键时发 生事件 报报表OnOpen报报表打开时发时发 生事件 OnClose报报表关闭时发闭时发 生事件 命令按 钮钮控件 OnClick按钮单击时发钮单击时发 生事件 OnDblClick按钮钮双击时发击时发 生事件 OnEnter按钮获钮获 得输输入焦点之前发发生事件 OnGetFoucs按钮获钮获 得输输入焦点

27、时发时发 生事件 OnMouseDown按钮钮上鼠标标按下时发时发 生事件 OnKeyPress按钮钮上键盘键盘 按键时发键时发 生事件 OnKeyDown按钮钮上键盘键盘 按下键时发键时发 生事件 第8章 模块和VBA程序设计 宫 缆 进 显 岗 杭 镑 音 章 整 逾 裴 漫 程 攫 衅 轮 堡 诛 凑 奋 酒 髓 谁 夯 顷 锣 挥 清 月 牙 仿 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 18 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第

28、8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 标签标签 控件 OnClick标签单击时发标签单击时发 生事件 OnDblClick标签标签 双击时发击时发 生事件 OnMouseDown标签标签 上鼠标标按下时发时发 生事件 文本 框控 件 BeforeUpdate文本框内容更新前发发生事件 AfterUpdate文本框内容更新后发发生事件 OnEnter文本框输输入焦点之前发发生事件 OnGetFoucs文本框获获得输输入焦点时发时发 生事件 OnLostFoucs文本框失去输输入焦点

29、时发时发 生事件 OnChange文本框内容更新时发时发 生事件 OnKeyPress文本框内键盘键盘 按键时发键时发 生事件 OnMouseDown文本框内鼠标标按下键时发键时发 生事件 第8章 模块和VBA程序设计 序 焉 宇 元 姑 畏 江 走 畸 辅 海 针 幌 粮 甄 甜 痢 穷 怨 故 鞠 弄 驭 杆 痛 豺 但 搓 榨 杜 具 段 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 19 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模

30、 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 对对象名称事件动动作动动作说说明 组组合框控 件 BeforeUpdate 组组合框内容更新前发发生事件 AfterUpdate组组合框内容更新后发发生事件 OnEnter组组合框获获得输输入焦点之前发发生事 件 OnGetFoucs组组合框获获得输输入焦点时发时发 生事件 OnLostFoucs组组合框失去输输入焦点时发时发 生事件 OnClick合框单击时发单击时发 生事件 OnDblClick合框双击时发击时发 生事件 OnKeyPress组组合

31、框内键盘键盘 按键时发键时发 生事件 第8章 模块和VBA程序设计 慎 峡 虐 韦 涕 惕 妙 拥 箕 逆 笋 塘 皂 芋 打 测 渐 曼 后 灾 粒 睹 坷 极 儿 衬 渡 想 杆 龄 呼 振 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 20 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 选项选项

32、 组组 控件 BeforeUpdate 选项组选项组 内容更新前发发生事件 AfterUpdate选项组选项组 内容更新后发发生事件 OnEnter选项组获选项组获 得输输入焦点之前发发生事件 OnClick选项组单击时发选项组单击时发 生事件 OnDblClick选项组选项组 双击时发击时发 生事件 单选单选 按 钮钮控件 OnKeyPress单选单选 按钮钮内键盘键盘 按键时发键时发 生事件 OnGetFoucs单选单选 按钮获钮获 得输输入焦点时发时发 生事件 OnLostFoucs单选单选 按钮钮失去输输入焦点时发时发 生事件 复选选框 控件 BeforeUpdate 复选选框更新前发

33、发生事件 第8章 模块和VBA程序设计 挞 辽 决 智 产 监 搪 终 年 贪 吾 捧 哼 雾 麓 挥 臣 拭 则 透 纵 汲 船 仇 尿 赶 堕 尝 糜 躲 诞 烛 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 21 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 AfterUpdate复选选框更新后

34、发发生事件 OnEnter复选选框获获得输输入焦点之前发发生事件 OnClick复选选框单击时发单击时发 生事件 OnDblClick复选选框双击时发击时发 生事件 OnGetFoucs复选选框获获得输输入焦点时发时发 生事件 第8章 模块和VBA程序设计 书 乔 俗 瘦 蓖 法 玖 檄 区 钾 阻 揪 篙 用 耍 达 趟 怕 培 恩 刚 菱 恰 森 韦 荡 衙 茵 亢 伐 思 眨 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 22 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿

35、捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 8.2.2 VBE编程环境 VBE是Visual Basic Editor的缩写,是Access提供的一个 编程环境。 VBE窗口的组成: VBE窗口主要由标准工具栏、工程窗口、属性窗口和代码窗 口4部分组成,如图8.6所示。 (1)标准工具栏 VBE窗口中的标准工具栏如图8.7所示。 标标准工具栏栏中常用按钮钮作用如表8.2所示。 第8章 模块和VBA程序设计 纠 诀 先 酋 吓 渴 距 檀 拌 冗 吁 傲 氢

36、趾 锚 棍 热 焦 射 嚼 练 了 灼 娩 琵 兵 嘶 堤 舰 僵 驴 类 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 23 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 按钮钮按钮钮名称作用 Access视图视图切换换Access数据库库窗口 插入模块块用于插入新模块块 运行子过过程用户户窗体运行

37、模块块程序 中断运行中断正在运行的程序 终终止运行重新设计设计结结束正在运行的程序,重新 进进入模块设计块设计 状态态 设计设计 模式设计设计 模式和非设计设计 模式切换换 工程项项目管理器打开工程项项目管理器窗口 属性窗体打开属性窗体 对对象浏览浏览 器打开对对象浏览浏览 器窗口 第8章 模块和VBA程序设计 短 轩 咎 萍 梁 皋 略 景 付 滔 步 箍 或 攒 糠 荧 戌 灰 窃 京 犁 们 餐 祖 杀 佣 洒 瑞 瓜 上 霹 圆 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 24 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相

38、豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.2 VBA8.2 VBA程序设计基础程序设计基础 8.2.3 VBA的基本数据类型 1数据类型 VBA支持多种数据类型,可以使用类型说明标点 符号来定义数据类型,还可以使用类型说明字符来 定义数据类型,VBA的数据类型、类型标识、符号、字 段类型及取值范围,如表8.3所示。 数据 类型 类型 标识 符号字段类型取值范围 整数 Inte ger % 字节整数 3276832767 长整 数 Long” Str=

39、“Punctuaton” Case Is32 Str=“SpecialCharacter” Case Else Str=“UnknownCharacter” End Select 粮 炮 亩 簧 树 甸 仑 碰 搞 穆 纤 沂 堂 积 加 蝴 埂 贞 籍 兜 俯 把 蓝 徊 只 夯 喉 宵 开 盈 站 船 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 98 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第

40、 8 章 模 块 和 V B A 程 序 设 计 8.4 VBA8.4 VBA的程序结构的程序结构 3分支功能的函数 在VBA中,除了If和Select两种条件语句外,还有 3个函数可以实现分支选择操作。 (1)IIf函数 函数格式:IIf(条件式,表达式1,表达式2) 函数功能:IIf函数根据“条件式”的值来决定函数返回 值。如果“条件式”的值为真,函数返回“表达式1”的值 ,如果“条件式”值为假,函数返回“表达式2”的值。 第8章 模块和VBA程序设计 拾 磐 社 颧 偶 滇 晾 拔 倡 挨 湖 倘 裹 砍 湖 霍 拄 腋 隧 诺 蚀 望 施 纽 城 岔 哗 疫 卢 惯 厩 性 第 8 章

41、 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 99 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.4 VBA8.4 VBA的程序结构的程序结构 (2)Switch函数 函数格式:Switch(条件式1,表达式1,条件式2,表达式2 , 条件式n,表达式n) 函数功能:Switch函数根据“条件式1”、“条件式2”“条件式 n”的值来决定函数返回值。条件式是由左

42、至右进行计算判断的 ,在第一个相关的条件式为真时,将该表达式作为函数返回值 。 第8章 模块和VBA程序设计 指 湃 者 蓄 粳 肾 泪 更 冷 玩 炮 颖 奖 拘 瞬 厢 洞 宪 荒 状 吠 时 讥 栏 吗 酥 豢 穆 韭 崇 患 挡 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 100 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.4 VBA8.

43、4 VBA的程序结构的程序结构 (3)Choose函数 函数格式:Choose(索引式,选项1,选项2,选项n) 函数功能:Choose函数根据“索引式”的值来返回选项列表中的 某个值。如果“索引式”值为1,函数返回“选项1”值。如果“索引 式”值为2,函数返回“选项2”值。依次类推。只有“索引式”的值 在1和可选择的项目数之间时,函数才返回其后的选项值。如果 “索引式”的值不在这个范围,函数返回无效值(Null)。 例8-43:使用Choose函数根据变量x的值来为变量y赋值。 Dim x As Integer,m As Integer,n As Integer x=2 m=3 n=7 y=

44、Choose(x,5,m+1,n) 变量y的结果为4 第8章 模块和VBA程序设计 靳 痛 又 耍 鸵 匹 咒 壹 维 憋 么 里 淌 壶 桓 贼 酵 涯 汲 觉 掇 宴 嗡 擂 撵 装 航 谁 碰 奶 艰 臀 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 101 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.4 VBA8.4 VBA的程序结构的程序

45、结构 8.4.3 循环语句 在程序设计中,可以使用循环语句在满足条件的前提 下重复执行一行或几行程序代码。在VBA中,循环语 句有3种:ForNext、DoLoopWhileWend。 第8章 模块和VBA程序设计 肮 淘 玛 虾 旗 睛 烘 彤 量 瘩 酝 求 贝 现 企 压 勘 智 君 墙 褥 瓜 碗 夸 开 攻 见 捎 曙 墓 状 蒜 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 102 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模

46、块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.4 VBA8.4 VBA的程序结构的程序结构 1ForNext语句 语句功能:ForNext语句能够重复执行程序代码区域特定次 数。 语句格式: For 循环变量=初值 To 终值 Step步长 循环体 条件语句序列 Exit For 结束条件语句序列 Next 循环变量 For语句的执行步骤如下: (1)循环变量取初值。 (2)循环变量与终值比较,确定循环是否进行. 第8章 模块和VBA程序设计 揉 涛 油 自 萎 孙 具 哺 臂 牢 烘 桑 镶 哑 缩 瞧 月 氮 枉 韦 衅 阔 神 悟 压 泪 焦

47、 阁 扁 瞬 韶 域 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 103 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.4 VBA8.4 VBA的程序结构的程序结构 (3)执行循环体。 (4)循环变量值增加步长,即循环变量=循环变量+步长,程序 跳转至(2)。 例8-44:使用ForNext语句计算1100之间数的和。 Dim i As Integ

48、er i=1 For i=l To 100 Sum=Sum+i Next i 第8章 模块和VBA程序设计 知 施 侠 嗡 晚 宫 供 斗 效 吠 伸 质 粕 鸵 美 计 丛 袍 稻 榨 疥 嘉 绦 贾 撕 柳 岸 碑 刀 怕 歉 峙 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 104 贤 痪 末 倒 愧 誉 殆 我 每 忙 仔 相 豌 耙 玩 釜 歇 瘁 剐 躇 灰 燎 伦 抹 盛 皿 捉 扛 粟 琼 驰 泥 第 8 章 模 块 和 V B A 程 序 设 计 第 8 章 模 块 和 V B A 程 序 设 计 8.4 VBA8.4 VBA的程序结构的程序结构 2DoLoop语句 DoLoop语句构成的循环有Do WhileLoop和Do UntilLoop两种形式。 (1)Do WhileLoop 语句功能:Do WhileLoop循环结构是当条件式结果为真时, 重复执行循环体。当条件式结果为假或执行到Exit Do时,结束 循环。语句格式: Do While 条件式 循环体 条件语句序列 Exit Do 结束条件语句序列 Loop 第8章 模块和VBA程序设计 藕 寓 披 墨 夷 黍 窖 盔 拯 派 明 策 倒 菠 棺 蓝 脑 坡 甄 襟 徒 邀 橇 乓 艰 罐 彼 寇

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


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