已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第9章模块 9 1模块的概念9 2模块窗口9 3模块的创建9 4在窗体或报表中创建事件过程习题 2 9 1模块的概念 模块是Access数据库中的一个重要对象 是由VisualBasicforApplication VBA 语言编写的程序的集合 VBA是VisualBasic在MicrosoftOffice及其他软件中的应用程序 比现在流行的VisualBasic语言要简单得多 由于模块是由编程语言创建的 所以它的功能比Access数据库中其他对象的功能要强大得多 使用模块可以建立用户自己的函数 完成复杂的计算 替代标准宏所不能完成的功能等 9 1 1模块 函数和过程模块是将VBA声明和过程作为一个单元进行保存的集合 3 模块是由过程组成的 模块中的每一个过程都可以由一个函数或一个子程序组成 过程是包含一系列VBA代码的单位 它包含许多语句和方法 以执行特定的操作或计算数值 函数过程 也称为Function过程 是一种能够返回具体值的过程 返回的值可以在表达式中使用 Access内置了许多函数 在计算时使用这些函数可以避免创建复杂的表达式 函数过程以关键字Function开始 并以EndFunction语句作为结束 子程序 也称为Sub过程 是执行一项操作的过程 它没有返回值 子程序以关键字Sub开始 并以EndSub语句作为结束 4 9 1 2模块的分类在Access中 模块有两种基本类型 类模块和标准模块 类模块是可以定义新对象的模块 新建一个类模块 也就创建了新的对象 模块中定义的任何过程都变成该对象的属性或方法 Access中的类模块可以独立存在 也可以与窗体和报表同时出现 窗体和报表模块是类模块的典型例子 该类模块与某一窗体或报表相关联 窗体和报表模块通常都含有事件过程 该过程用于响应窗体或报表中的事件 可以使用事件过程来控制窗体或报表的行为 以及它们对用户操作的响应 标准模块包含的是通用过程和常用过程 这些通用过程不与任何对象相关联 常用过程可以在数据库中的任何位置执行 5 9 2模块窗口 为了书写VBA函数和过程 需要打开模块窗口 在数据库窗口的 模块 选项卡中 选定要显示的模块名 然后单击 设计 按钮 即可显示模块窗口 例如 打开 罗斯文商贸 数据库中的 启动 模块 如图9 1所示 9 2 1显示项目窗口用户在开发VB程序时 都是在相关的窗口中进行的 例如 在模块窗口中提供图9 2 工程资源管理器 窗口了一个 工程资源管理器 如图9 2所示 所有在当前数据库模块中的过程模块都列在该窗口中 通过单击它们的名字 可以逐一查看它们的代码或运行 6 图9 1 7 图9 2 8 如果要显示某个项目窗口 则在模块窗口中单击 视图 菜单 从中选择相应的命令 例如 选择 视图 菜单中的 监视窗口 命令 即可显示 监视窗口 如果在模块窗口中显示过多的项目窗口 会使整个屏幕显得很乱 用户可以将暂时不用的窗口隐藏起来 如果要隐藏某个项目窗口 只需单击该窗口右上角的 关闭 按钮将其关闭即可 9 2 2模块代码窗口在模块窗口的 工程资源管理器 窗口中双击 启动 则会显示 启动 模块的代码窗口 如图9 3所示 一个模块一般由 声明 部分及一系列的过程组成 9 图9 3 10 在图9 3所示的模块窗口中 可以看到有两个隐藏的列表框 单击右边列表框的下拉按钮 打开列表框 可以看到列表中列出了当前模块中的所有过程 如图9 4所示 如果单击列表中某一模块的名字 Access将在模块窗口中显示其代码 在启动模块中有十个 过程 以及一个 声明 在 声明 部分 用户可以使用以下两种语句 Option语句 为模块中的所有过程设置VisualBasic选项 Declaration语句 说明VisualBasic变量 例如在图9 3所示的启动模块中 声明 部分有两个语句 OptionCompareDatabase 11 图9 4 12 OptionExplicit其中第一个语句告诉Access怎样比较文本 通过设计选项为Database 让Access根据数据库的排列顺序完成文本比较 第二个语句说明在该模块中所有的变量都需显式说明 从模块窗口中可以看到 模块代码中每一行的每一个单词都具有自己的颜色 这样程序员可以从复杂的代码中轻松地辨别出程序的各个部分 模块代码行中各种颜色所代表的含义如下 绿色 注释行 它不会被执行 只用于对代码进行说明 蓝色 VisualBasic预定义的关键字 黑色 用于存储数值的东西 如变量名 13 红色 有句法错误的语句 9 2 3改变代码的显示选项如果要改变VisualBasic代码的显示选项 可以按照以下步骤进行 1 打开模块窗口 选择 工具 菜单中的 选项 命令 打开 选项 对话框 2 单击 编辑器 选项卡 如图9 5所示 3 在 代码设置 区中设置相关的选项 各选项的含义如下 自动语法检测 决定VisualBasic是否在输入一行代码之后自动校正修正语法 要求变量声明 指定在代码窗口中是否显示 变量 和 声明 列表框 14 图9 5 15 自动列出成员 指定在编辑代码时是否显示相关对象 属性和方法 自动显示快速信息 使用方法或过程时是否自动显示该方法或过程的语法信息 自动显示数据提示 指定在编辑代码时是否自动显示相关的数据提示 自动缩进 指定是否进行自动缩进 Tab宽度 指定代码中Tab键的宽度 默认值是4个空格 4 如果要设置代码窗口中各种类型代码的显示颜色以及字体格式 可以单击 编辑器格式 选项卡 然后在 代码颜色 下的列表框中选择要设置字体格式的代码文本类型 并更改相应的字体格式 5 最后单击 确定 按钮即可 16 9 3模块的创建 9 3 1创建新模块创建新模块的具体操作步骤如下 1 打开要建立模块的数据库 在 模块 选项卡中单击 新建 按钮 出现模块编辑窗口 如图9 6所示 2 在模块编辑窗口中编辑模块程序 9 3 2在模块中加入过程上面所创建的模块中还没有内容 现在通过一个改变按钮颜色的例子来说明在模块中加入过程的方法 具体操作步骤如下 17 图9 6 18 1 选择 插入 菜单中的 过程 命令 出现 添加过程 对话框 如图9 7所示 2 在 名称 文本框中输入所建过程的名称 例如输入 movein 3 在 类型 区中选择该过程的类型 这里选择 函数 图9 6模块编辑窗口 图9 7 添加过程 对话框 4 在 范围 区中选择该过程的作用范围 如果选择 公共的 则该过程在数据库中的任何地方都可以使用 如果选择 私有的 则该过程只能在本模块中使用 这里选择 公共的 5 单击 确定 按钮 出现过程框架 如图9 8所示 19 图9 7 20 图9 8 21 6 在过程框架中的 PublicFunctionmovein 和 EndFunction 之间输入如下代码 PublicFunctionmovein aAsCommandButton a ForeColor vbRedEndFunction 7 将插入点移到代码最后 再次选择 插入 菜单中的 过程 命令 在出现的 添加过程 对话框中输入名称为 moveout 使得在代码最后又自动增加过程框架的两行命令 8 在过程框架中的 PublicFunctionmoveout 和 EndFunction 之间输入如下代码 PublicFunctionmoveout bAsCommandButton b ForeColor vbGreenEndFunction 22 9 在第一行代码之后 增加命令OptionExplicit 以便打开触发事件 最后的结果如图9 9所示 10 选择 文件 菜单中的 保存 命令 出现 另存为 对话框 如图9 10所示 在 模块名称 框中输入 改变按钮颜色 后单击 确定 按钮 9 3 3调用过程创建了一个过程以后就可以在数据库中调用该过程 可以把过程与窗体的事件联系起来 这样 当事件发生时 相应的过程就被执行 例如 我们可以创建一个窗体 在窗体上添加一个命令按钮 让这个命令按钮调用上面所编写的过程 具体操作步骤如下 23 图9 9 24 图9 10 25 1 在数据库窗体选项卡中新建一个窗体 在该窗体中添加一个名为 命令按钮 的命令按钮 2 以设计视图方式打开新建的窗体 3 单击 命令按钮 命令按钮 打开其 属性 对话框 4 在 属性 对话框中选择 其他 选项卡 在 名称 文本框中输入 命令按钮 5 切换到 事件 选项卡 在 鼠标按下 文本框中单击 显示一个向下箭头按钮和一个 按钮 6 在 鼠标按下 文本框中输入 movein 命令按钮 在 鼠标释放 文本框中输入 moveout 命令按钮 如图9 11所示 26 图9 11 27 7 单击 按钮 打开代码编辑对话框 即可以看到以前编辑过的代码 8 关闭属性对话框 保存所做的修改 即完成了过程的设定 现在 打开该新建窗体 可以看到 当鼠标按下命令按钮时 字体变为红色 当鼠标释放命令按钮时 字体变为绿色 运行结果如图9 12所示 28 图9 12 29 9 4在窗体或报表中创建事件过程 VBA程序代码是由事件驱动的 在设计窗体和报表时 需要向窗体和报表中添加控件的事件处理过程 如果希望窗体或报表中的控件以特殊的方式响应事件 也可以为该事件编写VBA代码 本节介绍在窗体或报表中创建事件过程的方法 具体操作步骤如下 1 在数据库窗口的 窗体 或 报表 选项卡中以设计视图方式打开相应的窗体或报表 2 选择要执行事件的控件 然后单击鼠标右键 打开该控件的属性窗口 在属性窗口中选择 事件 选项卡 30 3 选择要创建事件过程的属性框 如 鼠标按下 鼠标移动 等 表示在鼠标按下或鼠标移动时图9 13 选择生成器 对话框将要执行事件 4 单击属性框右边的 生成器 按钮 出现 选择生成器 对话框 如图9 13所示 5 在该对话框中单击 代码生成器 然后单击 确定 按钮 6 此时出现 模块 窗口 如图9 14所示 在该窗口中输入要完成的事件即可 例如 要在窗体中插入一个图像 使得每次用鼠标单击该图像时 会让图像向右移动一定的距离 为了完成这一任务 可以按照如下步骤进行操作 31 图9 13 32 图9 14 33 1 在数据库窗口的 窗体 选项卡中新建一个窗体 2 以设计视图方式打开该窗体 使用工具箱向该窗体中插入一幅图片 结果如图9 15所示 3 在窗体中用鼠标右键单击该图像控件 从弹出的快捷菜单中选择 属性 命令 出现图像的属性窗口 4 在属性窗口的 其他 选项卡中 在 名称 框中输入 照片 然后切换到 事件 选项卡中 5 在 事件 选项卡中选择 单击 属性框 将插入点移到 单击 框后 单击 按钮 打开 选择生成器 对话框 34 图9 15 35 6 在 选择生成器 对话框中选择 代码生成器 单击 确定 按钮 打开 模块 窗口 7 在 模块 窗口的当前插入点处 输入以下代码语句 如图9 16所示 照片 Left 照片 Left 50 8 关闭模块窗口 将窗体由 设计视图 切换到 窗体视图 此时 每当用鼠标单击一次图像 图像就会向右移动一段距离 36 图9 16 37 习题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第三方协议样签合同
- 一级护理质量评价标准
- 中海大海洋地质学课件第1章绪论-1第一讲
- 多发性硬化症症状辨析及护理要领
- 银屑病常见症状及护理经验传授
- 疼痛科疾病常见症状及护理技术
- 演员背台词训练
- 风湿热临床表现解读和护理指南
- 2025年新高考数学一轮复习收官卷01(解析版)
- 慢性肾炎常见症状及护理心法传授
- 2025年合肥兴泰金融控股(集团)有限公司招聘23人笔试参考题库附答案
- 建筑工程技术员聘用合同(标准版)
- 学士学位论文格式
- 大同市2025年教师职称考试(语文)复习题及答案(小学)
- 2025年中国上市公司高端制造业发展报告
- 2025年报关员《海关法规》真题解析
- 专题04 电化学原理的综合应用(高效培优讲义)(解析版)2026年高考化学一轮复习高效培优系列(全国通.用)
- 培训机构市场岗位职责培训
- 糖化血红蛋白教学课件
- 2025智慧监控系统安装工程合同
- 2025广东省南粤交通投资建设有限公司招聘笔试历年备考题库附带答案详解试卷2套
评论
0/150
提交评论