




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章模块 MicrosoftAccess具有强大的界面功能 这使得用户能够方便地建立各种对象 尤其是利用宏可以执行简单的任务 如对象的修改和数据的查找 但在某些情况下 用户需要利用模块提供强大的功能 完成更艰难的任务 考试大纲 1 模块的基本概念 1 类模块 2 标准模块 3 将宏转换为模块 2 创建模块 1 创建VBA模块 在模块中加入过程 在模块中执行宏 2 编写事件过程 键盘事件 鼠标事件 窗口事件 操作事件和其他事件 3 调用和参数传递 4 VBA程序设计基础 1 面向对象程序设计的基本概念 2 VBA编程环境 进入VBE VBE界面 3 VBA编程基础 常量 变量 表达式 4 VBA程序流程控制 顺序控制 选择控制 循环控制 5 VBA程序的调试 设置断点 单步跟踪 设置监视点 主要内容 模块的基本概念创建模块VBA程序设计基础 重点 8 1模块的基本概念 8 1 1模块的基本概念8 1 2模块和宏的区别8 1 3模块的功能8 1 4模块的组成8 1 5模块的分类8 1 6将宏转换为模块 8 1 1模块的基本概念 模块是和数据表 查询 报表和宏等一样 是Access的一种基本对象 模块是由一种叫VBA VisualBasicforApplication 的语言来实现的 VBA是微软公司将VisualBasic的一部分代码结合到Office中而形成的 模块是存储在一个单元中的VBA声明和过程的集合 如果只需要Access来做一些简单的工作 对这一部分的内容作以下简单的了解就可以了 8 1 2模块和宏区别 模块 和 宏 有什么区别 使用 宏 更加简单 不需要编程 而是用 模块 要求对编程有基本知识 比较复杂 模块 的运行速度比较快 而 宏 运行速度比较慢 宏 的每个基本操作在VBA中都有相应的等效命令 如果在 模块 中使用这些语句就可以实现所有的单独的 宏 命令 所以 模块 的功能比 宏 更加强大 8 1 3模块的功能 数据库的事务处理操作 可以将事件的过程建立在窗体和报表的定义中 更有利于数据库的维护 宏 是独立于窗体和报表中 所以维护相对困难 创建自定义函数 使用这一些自定义的函数就可以避免写复杂的表达式 错误处理 可以检测并进行提示 这样就有更友好的用户界面 对用户的下一步操作提供帮助 复杂程序处理 可以编写选择结构 循环结构等复杂程序处理 8 1 4模块的组成 通常 模块是由以下两部分组成 声明部分 可以在这部分定义变量 常量 自定义类型和外部过程 在模块中 声明部分和过程部分是分割开来的 声明部分定义的常量和变量是全局的 可以被模块中的所有过程调用 事件过程部分 这是一种自动执行的过程 用来对用户或者程序代码启动的事件或系统触发的事件做出响应 包括函数过程和子过程 8 1 5模块的分类 模块分为两种 类模块和标准模块类模块 在这种模块中可以声明一个新类 在类的声明中 包括成员变量和成员函数的声明 可以在类模块的基础上创建对象实例 Access中的类模块与窗体和报表相关联 每一个窗体或者报表都对应一个类模块 从Access97起 类模块也可以独立与窗体和报表而存在 标准模块 是指存放在整个数据库中可用的过程和函数的模块 标准模块包括通用过程和常用过程 通用过程不与任何对象相关联 常用过程可以在数据库的任意地方运行 8 1 6将宏转换为模块 每一个宏操作都有自己对应的VBA代码 根据需要我们可以把宏转换为模块 8 2创建模块 在模块中加入过程进入类模块编辑区 代码 工具按钮或者窗体和报表的事件过程 进入标准模块编辑区 模块 新建 2 Sub过程和function函数过程格式 Sub过程名Function函数名 程序代码 程序代码 EndSubEndFunction3 在模块中执行宏格式 DoCmd RunMacro宏名 循环次数 循环表达式 8 3VBA的基本知识 面向对象程序设计的基本概念VBA编程环境 VBE界面VBA编程基础 常量 变量 运算符 表达式VBA程序控制语句过程的调用和参数传递常用操作方法VBA数据库编程 自学 VBA程序运行错误处理 自学 VBA程序的调试 设断点 单步跟踪 设置监视窗口 8 3 1面向对象程序设计的基本概念 1 集合 类 和对象集合 含有相同属性的事物的总称成为集合 比如所有的学生就构成一个集合 类 对象 集合中的某一个实体 例如学生集合中的某一个学生就是一个对象 2 属性和方法描述对象的性质和行为 引用方式 对象 属性或者对象 行为DoCmd对象 通过调用包含在内部的方法来实现VBA编程中对Access的操作 具体调用格式 DoCmd OpenReport 报表名 视图 查询名称 条件 8 1 1面向对象程序设计的基本概念 3 事件和事件过程事件 Access窗体或者报表及其上控件等对象可以 辨识 的动作 如单击 双击 某一个按键等 事件过程 为某个事件编写VBA代码过程 来完成指定的动作 例8 1新建一个窗体 在其上面放置一个命令按钮 单击该命令按钮 弹出一消息对话框 8 3 2VBA编程环境 VBA界面 1 进入VBE编辑环境类模块 1 定位窗体或者报表 单击工具栏 代码 按钮 2 或者通过窗体 报表或者控件 属性 窗口中 事件 选项卡的 事件过程 项进入 标准模块 1 已有模块 在数据库窗体选择 模块 对象 双击要查看的模块 2 新建模块 在数据库窗体选择 模块 对象 单击 新建 按钮 3 在数据库对象窗体中 单击 工具 菜单 宏 Visualbasic编辑器 8 3 2VBA编程环境 VBA界面 2 VBE窗口介绍 工程窗口 属性窗口 代码窗口 标准工具条 8 3 2VBA编程环境 VBA界面 3 VBE环境中编写代码 对象浏览器快速访问子过程自动显示提示信息F1帮助 一 数据类型VBA提供了多种数据类型的支持 这样也是为了大家进行编程提供方便 各种数据类型所占的存储空间 所表示数据范围大小 以及所支持的数据运算不同 数据类型可以分为数值型 布尔型 日期型 字符型 对象型 变体型和用户自定义的数据类型 8 3 3VBA编程基础 常量 变量 运算符和表达式 数据类型 数值型 VBA中数值型包括字节 整型 长整型 单精度 双精度和货币等 数据的存储从8位到64位不等 数据支持加 减 乘 除等运算 货币类型的数据保持小数点左边15位数字 右边4位数字 以满足精度的需要 标识符 数据类型 布尔型 布尔数据类型以16位数字形式存储 布尔数据类型只有True和False两个值 布尔数据支持逻辑与 或 非等运算 当其他的数值类型转化为布尔型时 0转化为False 其他转化为True 当布尔型转化为其他的数值类型时 False转化为0 True转化为1 标识符 Boolean 数据类型 日期型 日期数据类型以64位浮点数值形式存储 日期数据类型表示的范围为100年1月1日到9999年12月31日 时间从0 00 00到23 59 59日期变量根据计算机中的短日期格式显示 时间个根据计算机的时间格式显示 当其他数值类型转化为时间类型时 整数部分表示日期 小数部分表示时间 负数表示1899年12月31日以前的日期 标识符 Date 数据类型 字符型 每个字符以一个字节 8位 进行表示 对应的数值的范围是0 255 字符中的前128个字符对应于ASCII字符集中的定义 字符集后128个字符代表特定的字符 字符数据类型两种 变长字符和定长字符 变长字符可以包括的字符数量为0到约20亿个定长字符可以包括的字符数量为1到约64K个字符 标识符 String 数据类型 变体型 变体数据类型所代表的数据类型是不确定的 可以成为任何类型的变量 变体的数据类型的变量可以存储特殊值 如 Empty Error Nothing Null等 变体数据类型中的数值类型可以代表任何的整型和实型数 标识符 Variant 数据类型 自定义型 前面所介绍的数据类型都是原子型的数据类型 即不可以再分割的数据类型 使用Type语句可以定义任何结构型数据类型 如 TypepersonNameAsStringBirthdateAsDateSexAsIntegerEndType这样就定义了 人 这种数据类型 它包括 姓名 生日 性别 三个数据域 数据类型 数据类型间的转换 数据类型之间可以使用各种转换函数进行转换 如Cstr Cint可以分别转换为字符型和整型等 VBA还提供一类判断数据类型的函数 如IsDate可以判断是否为日期型等 Access中数据表中的数据存储类型与VBA中的数据类型几乎都可以找到对应和匹配 8 3 3VBA编程基础 常量 变量 运算符和表达式 二 变量在VBA中变量的概念是怎么样呢 变量是用于程序运行时保存临时信息 在VBA中不必先声明变量再使用变量 但是先声明再使用是良好编程的习惯 变量的数据类型可以是前面所介绍的数据类型中的任何一种 也可以是用户自定义的数据类型 变量 变量名命名原则 变量的命名原则有以下几点 第一个字母必须是英文字母 不能在变量名中使用空格 句点等符号 变量名的长度不能超过255个字符 变量名不区分大小写 不能在某一范围内的相同层次中使用重复的变量名 变量不能与函数名 过程名相同 变量 变量声明 怎样进行变量的声明呢 语法 Dim 变量名 As 变量类型 Static 变量名 As 变量类型 Public 变量名 As 变量类型 Private 变量名 As 变量类型 说明 Dim等都是关键字 说明这一个语句是变量的声明语句 如果没有 As 变量类型 语句 则默认该变量为变体 Variant 变量 SubAdd DimxAsIntegerDimyAsIntegerDimzAsIntegerz x yEndsub 8 3 3VBA编程基础 常量 变量 运算符和表达式 三 常量使用常量可以增加程序的可读性 为常量取一个有意义的名字 可以帮助理解程序 使用常量还可以使代码更加容易维护 对使用数据的修改只需要修改常量的声明部分 保证了代码的一致性 Access中支持三种类型的常量 符号常量 固有 内部 常量 系统定义常量 常量类型 符号常量1 声明 Public Private const 常量名 As 常量类型 值 2 说明 常量声明的时候必须设定它的 值 并且声明以后 不能再加以修改 固有常量 由Access自动定义的 作为引用对象库的一部分 通过 对象浏览器 打开 系统定义常量 只有True False Null等几种 用户可以在任何地方使用系统定义常量 8 3 3VBA编程基础 常量 变量 运算符和表达式 四 数组在编程的时候 常常用到一组具有相同数据类型的变量 这时候就可以声明一个数组变量 数组中所有的元素的数据类型都是相同的 数组中可以存储的元素个数成为数组的容量 数组分为两类 固定数组和动态数组 固定数组的容量是固定的 动态数组的容量是可以改变的 数组 固定数组 语法Dim 数组名 n As 类型 Static 数组名 n As 类型 Public 数组名 n As 类型 Private 数组名 n As 类型 说明括号中n代表数组的上界 默认的下界为0 这样的数组容量为n 1 如果要以1为下界 可以用 1ton 代替括号中的n 如果要定义多维数组 可以用 n1 n2 代替括号中的n 例如DimNewArray1 5 AsintegerDimNewArray2 3to6 AsintegerDimNewArray3 3 5 AsintegerDimNewArray 3to6 5 Asinteger 数组 动态数组 声明语法 Dim 数组名 As 类型 说明括号中没有任何参数 定义数组大小和唯数ReDim Preserve 数组名 n As 新类型 说明如果有Preserve 则数组原有的数据可以保留 否则在数组重新声明是不保留原有数据 如果变量声明为 Variant 则在ReDim中可以重新设定类型 否则不能改变类型 8 3 3VBA编程基础 常量 变量 运算符和表达式 五 运算符算术运算符 Mod关系运算符 逻辑运算符 AND OR NOT连接运算符 8 3 3VBA编程基础 常量 变量 运算符和表达式 六 表达式和优先级将常量和变量用各种运算符连接在一起构成的式子就叫表达式 8 3 3VBA编程基础 常量 变量 运算符和表达式 七 常用标准函数数学函数 abs int fix sin cos 字符串函数 instr left right mid 日期 时间函数 date time now year month day weekday 类型转换函数 asc chr str val 8 3 4VBA程序流程控制语句 1 VBA程序语句按照功能不同分为 声明语句 用于给变量 常量或者过程定义命名 执行语句 用于执行赋值操作 调用过程 实现各种流程控制 2 执行语句分类 顺序结构 按照语句的顺序顺次执行 条件结构 又称选择结构 根据条件选择执行 循环结构 重复执行某一段程序 条件语句 If Then EndIf语句语句结构 结构一结构二 IfThenElseIfThenElseEndIfEndIf IfThenElseIfThenElseEndIf 条件语句 2 SelectCase EndSelect语句语句结构 SelectCaseCaseCaseCaseIsCaseElseEndSelect 程序段 DimscoreasintegerDimmasintegerDimstrasstringM score 10Selectcasemcase9to10str 优秀 case6to8str 合格 caseIs 6str 不合格 caseelsestr 旷考 Endselect 条件语句 3 IIf语句语句结构 IIf 条件式 表达式1 表达式2 4 Switch语句语句结构 Switch 条件式1 表达式1 条件式n 表达式n 5 Choose语句语句结构 Choose 索引式 选项1 选项n Max IIf a b a b y Switch x 0 1 x 0 0 x 0 1 y Choose x 5 m 1 n 条件语句 6 条件语句综合实例 例8 9设计一个登陆窗体 用户名和密码为空给出提示 正确的时候给出 欢迎使用 信息 循环语句 1 For Next格式 For循环变量 初值To终值 Step步长 循环体 条件语句系列ExitFor结束条件语句系列 Next 循环变量 例子计算1 100所有整数的和 DoWhile条件式循环体 条件语句系列ExitDo结束条件语句系列 LoopWhile条件式 循环语句 2 DO While 或者Until Loop格式 DoWhile条件式循环体 条件语句系列ExitDo结束条件语句系列 Loop 例子计算1 100所有整数的和 循环语句 3 While Wend格式 While条件式循环体Wend 和Do While语句功能一样 所以很少用 主要是为了兼容Qbasic 8 3 5过程调用和参数传递 一 子过程定义调用定义格式 Public Private Static Sub子过程名 形参 As数据类型 Exitsub EndSub调用格式 Call子过程名 实参 或子过程名 例8 12编写一个打开指定窗体的子过程 8 3 5过程调用和参数传递 二 函数过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康社区建设课件
- 2025年中国楼梯行业市场发展监测及投资前景展望报告
- 环评资质申请报告范文
- 2025年中国耐磨石墨制品行业市场发展前景及发展趋势与投资战略研究报告
- 健康的校园生活
- 信息技术-计算机行业深度报告:RWA:真实资产走向链上世界开启数字金融新时代
- 2025年港股医药行业投资策略分析报告:创新药主线关注出海机会
- 营销宣传品领用管理办法
- 蔡甸区引导基金管理办法
- 街道办干部管理办法规定
- GB 18068-2000水泥厂卫生防护距离标准
- 教师调动登记表(模板)
- 2022年医院收费员考试试题及答案
- 粤信签小程序操作使用说明
- 福建省林业行政执法人员法律考试
- 《组织机构代码证》word版
- 钢筋下料单(参考模板)
- 欧亨利短篇小说集(课堂PPT)
- OPGW光缆计算
- 5710装备生产过程质量监督要求
- 建筑分户验收监理质量评估报告
评论
0/150
提交评论