全国计算机二级Access第八讲模块.ppt

上传人:xt****7 文档编号:5210088 上传时间:2020-01-23 格式:PPT 页数:51 大小:1,013.81KB
返回 下载 相关 举报
全国计算机二级Access第八讲模块.ppt_第1页
第1页 / 共51页
全国计算机二级Access第八讲模块.ppt_第2页
第2页 / 共51页
全国计算机二级Access第八讲模块.ppt_第3页
第3页 / 共51页
点击查看更多>>
资源描述
第八讲模块 模块是以VBA VisualBasicforApplication 基础编写 以函数 function 或子过程 Sub 的集合方式存储 模块分为类模块和标准模块两类 类模块 窗体和报表模块都是类模块 可以使用事件过程来控制窗体或报表的行为 标准模块 标准模块包含的是通用过程和常用过程 这些通用过程不与任何对象相关 8 1模块的基本概念 8 2 1面向对象程序设计的基本概念 一个对象就是一个实体 对象具有属性和方法两方面 属性和方法描述了对象的性质和行为 对象的属性可以定义对象一个实例 而方法是对象可以执行的行为 引用方式为 对象 属性或对象 行为 8 2VBA程序设计 在进行Access的VBA编程之前 要了解VBA的基本编程语言 一 数据类型二 变量三 运算符及函数 8 2 2VBA编程基础 一 数据类型 整数 Integer 后缀符为 长整数 Long 后缀符为 单精度 Single 后缀符为 双精度 Double 后缀符为 货币 Currency 后缀符为 字符串 String 后缀符为 布尔型 Boolean 变体 Variant 可用于任何数据类型 数据库对象类型 Object 二 变量 变量 是在程序运行过程中其值可以改变的量 变量的组成 由数字 字母和下划线且由字母开头例如 Book Name12 Number 1都是合法的变量名 而 num 1am pi1是不合法的 变量定义两种方法 1 隐式变量 没有直接定义 直接指定值 如 NewVar 528 2 显式变量 先定义后使用 如 DimNewVarAsInteger 三 用户定义的数据类型 TypePointXasIntegerYasSingleEndType即定义了一个点 point 的数据结构 声明和使用变量形式如 DimpCurPointasPointPCurPoint X 10PCurPoint Y 10 四 数组 格式 Dim数组名 下标下限to 下标下限 如 Dimarray 10 asdoubleDimworkers 4to5 asintetger 五 符号常量 格式 Const符号常量名称 常量值如 ConstPI 3 14159 历年真题 c Variant Double 六 运算符 1 算术运算符 对上表运算符说明 VBA的加 减 乘 除运算符与数学中的加 减 乘 除运算符的意义和用法相同 只是乘 除 乘方的运算符号不同 但注意 整数除法 操作时先将操作数舍去小数部分取整 若结果有小数也舍弃 求模运算 Mod 若操作数是小数 系统会将其四舍五入后再运算 被除数与结果值余数符号一致 关系运算符和关系表达式 关系运算符用于对两个相同类型的数据进行比较 如果比较的关系成立 运算结果是逻辑真值为True 或 如果比较的关系不成立 运算结果是逻辑假值为False 或 关系运算符下表所示 逻辑运算符和逻辑表达式 非 OT 与 AND 或 OR 先进级别从左至右例1 NOT3值为0 NOT0值为1例2 0AND0值为0 0AND1值为0 1AND1值为1例3 0OR0值为0 0OR1值为1 1OR1值为1 从表中可以看出逻辑逻辑符的运算法则如下 1 对于Not 逻辑非 运算 如果参加运算的数据是True 则运算结果为False 反之 则运算结果为True 例如 NOT 3 5 的值是True 2 对于And 逻辑与 运算 如果参加运算的两都是True 则运算结果为True 如果参加运算的两边为False 则运算结果为False 例如 5 3And B 3And B C 的值都是False 3 对于Or 逻辑或 运算 如果参加运算的两边有一个为True 则运算结果为True 只有参加运算的两边均为False时 运算结果才为False 例如 5 C 的值是False 而53Or B C 的值都是True 5 连接运算符 字符运算符有两个 功能是把运算符右边的字符串连接到左边字符串的尾部 组成一个新的字符串 例如 Visual Basic 的运算结果是 VisualBasic 区别 只能连接字符型数据 而 可以连接非字符型数据 如 VBA 6结果为 VBA6或 2 3 2 3 结果为 2 3 5 小结 各运算符的优先级别 算术运算符 连接运算符 关系运算符 逻辑运算符 七 常用标准函数 重点 1 数学函数 1 Abs 绝对值函数例 Abs 5 5或Abs 5 2 3 2 Int Fix 取整函数功能 两者参数为正是取整 若为负 Int返回小于等于参数值的第一个负整数 Fix返回大于等于参数值的第一个负整数 例 Int 5 3 5 Fix 5 3 5Int 5 3 6 Fix 5 3 5 3 Sqrt 开平方函数例 Sqrt 9 3 2 字符串函数 1 InStr Start 1 功能 检索Str2在Str1中最早出现的位置 Start为可项 即检索的起始位置 如省 则从第一个字符开始 1 也为可选 如有1则不区分大小写 例 s Instr 3 aSsiAB a 1 返回5s Instr aSsiAB a 返回1 2 Len 字符串长度检测函数例 Len 12345 返回5或Len 考试中心 返回4 3 Left 字符串 N 从字符串左边起截取N个字符Right 字符串 N 从字符串右边起截取N个字符Mid 字符串 N1 N2 从字符串左边第N1个字符起截取N2个字符 例 Left sdkfj 2 返回 sd Right sdkfj 2 返回 fj Mid sdkfj 2 3 返回 dkf 3 日期 时间函数 1 Date返回当前系统日期 2 times返回系统时间 3 Now返回当前系统日期和时间 4 Year 日期 返回 日期 的年份 5 Month 日期 返回 日期 的月份 6 Day 日期 返回 日期 的日 7 Hour 时间 返回 时间 的小时数 8 Minute 时间 返回 时间 的分钟数 9 Second 时间 返回 时间 的秒数 历年真题 A 4 一 VBA程序语句分类 1 声明语句 用于给变量 常量过程定义命名2 执行语句 用于执行各种操作 分3种结构 顺序结构 选择 或条件 结构 循环结构二 语句书写规定 1 语句较长 一行写不下时 用下划线 续写在下一行 2 用冒号 将几个语句分隔写在同一行中 三 赋值语句 变量名 值或表达式例 new 10 8 2 3VBA程序流程控制语句 历年真题 D B 四 选择 或条件 语句1 If条件表达式1Then执行符合条件值的语句EndIf例 If定价 1200ThenMsgBox 定价超上限 Endif 2 If条件表达式1Then执行符合条件值的语句Else执行不符合条件值的语句EndIf例 If定价 1200ThenMsgBox 定价超上限 Else定价 定价 0 95Endif 3 If条件表达式1ThenIf条件表达式2Then执行符合条件1 2的语句Else执行不符合条件2值的语句Else执行不符合条件1值的语句EndIf例 If定价 1200Then定价 定价 0 95If定价 1500Then定价 定价 0 8EndifEndif 4 If条件表达式1Then执行符合条件值1的语句ElseIf条件表达式2Then执行符合条件值2的语句ElseIf条件表达式3Then执行符合条件值3的语句 Else执行上述条件都不符合的语句EndIf 例 If定价 2000Then定价 定价 0 65ElseIf定价 1500Then定价 定价 0 8ElseIf定价 1000Then定价 定价 0 95ElseMsgBox 不符合调整范围 EndIf 5 SelectCaseCase与值1相等时执行的语句Case与值n相等时执行的语句 Case与值n相等时执行的语句CaseElse上面的情况均不符合时执行的语句序列Endselect 例 SelectCaseaCase A To Z str uppercase Case a To z str lowercase CaseElsestr unknowncharacter Endselect 历年真题 B 合格 五 循环语句1 For Next语句For循环变量 初值To终值 Setp步长 循环体Next 循环变量 例 Fork 5to10step2k 2 kNextk循环次数为1 k的值为20 2 DoWhile 或Until Loop语句DoWhile条件式 while是执行满足条件的循环体 Until是不满足条件才执行 循环体Loop例 用DoWhile Loop完成由1加到100I 1sum 0DoWhileI 100sum sum II I 1Loop 3 Do LoopWhile 或Until 语句Do循环体LoopWhile条件式例 用DoWhile Loop完成由1加到100I 1sum 0Dosum sum II I 1LoopUntilI 100 历年真题 C 25 历年真题 num i 16 历年真题 C 函数过程是一种返回值的过程 该值可以在表达式中使用 函数声明使用Function语句 并以EndFunction语句作为结束 函数格式如下 Public Private Function函数过程名 形参 As数据类型 函数程序代码 ExitFuntion 函数程序代码 EndFunction 8 2 4过程调用和参数传递 例 编写一个求解圆面积的函数过程Area PublicFunctionArea RAsSingle AsSingleIfR 0ThenMsgBox 圆的半径必须是正数值 Area 0ExitFuntionEndIfArea 3 14 R REndFuntion 子过程也称为sub过程 是执行一项或一系列操作的过程 没有返回值 声明过程以 Sub 关键字开头 并以 EndSub 语句作为结束 格式如下 Public Private Sub子过程名 形参 As数据类型 子过程语句 ExitSub 子过程语句 EndSub 函数调用参数传递 1 传值调用 形式参数用ByVal说明 表示传值 过程调用时 只是相应位置实参的值 单向 传送给形参处理 而被调用过程内部对形参的任何操作引起的形参值变化均不会反馈 影响实参的值 2 传值调用 形式参数用ByRef说明 表示传址 过程调用时 是将相应位置实参地址传送给形参处理 而被调用过程内部对形参的任何操作引起的形参值变化会反向影响实参的值 例 PrivateSubtest Click DimJAsIntegerJ 5CallGetData J MsgBoxJEndSubPrivateSubGetData ByReffAsInteger f f 2EndSub ByVal 当用ByRef时 MsBox输出是7当用ByVal时 MsBox输出是5 历年真题 D B C 历年真题 D form load 发生在装载窗体对象的时候form Activate发生在窗体得到焦点的时候他们触发的时机完全不同 一个窗体 正常情况下 在其生存期内 form load只会发生一次 而form activate可能会发生无数次 1 打开窗体DoCmd openForm 2 关闭窗体DoCmd Close 3 打开报表DoCmd openReport 4 输入框InputBox 5 消息框MsgBox 8 2 5常用操作方法 历年真题 D VBA中提供OnErrorGoTo语句来控制当有错误发生时程序的处理OnErrorGoTo标号 在遇到错误发生时程序转移到标号所指位置代码执行OnErrorResumeNext 遇到错误发生时不会考虑错误 并继续执行下一条语句OnErrorGoTo0 用于关闭错误处理 8 2 6VBA程序运行错误处理 DAO 是开放数据库应用程序接口 历年真题 A A
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!