好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

《VBA编程基础》PPT课件.ppt

37页
  • 卖家[上传人]:m****
  • 文档编号:589861628
  • 上传时间:2024-09-11
  • 文档格式:PPT
  • 文档大小:261KB
  • / 37 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • NCRE第第7章章 VBA编程基础编程基础 2第第7章章 VBA编程基础编程基础 7.1 7.1 VBA的编程环境的编程环境 7.2 7.2 VBA模块简介模块简介7.3 7.3 VBA程序设计基础程序设计基础7.4 7.4 VBA流程控制语句流程控制语句 7.5 7.5 面向对象程序设计的基本概面向对象程序设计的基本概念念 7.6 7.6 过程调用和参数传递过程调用和参数传递 7.7 7.7 VBA的常用操作的常用操作7.8 7.8 用户定义类模块创建和引用用户定义类模块创建和引用 7.9 7.9 VBA程序运行错误处理程序运行错误处理 37.1 VBA的编程环境的编程环境 v直接进入:单击直接进入:单击“数据库工具数据库工具”选项卡,在选项卡,在“宏宏”组中单击组中单击“Visual Basic”v通过创建模块进入:单击通过创建模块进入:单击“创建创建”选项卡,然选项卡,然后在后在“宏与代码宏与代码”组中单击组中单击“Visual Basic”v通过窗体和报表等对象的设计进入通过窗体和报表等对象的设计进入“VBA”:通:通过控件的事件响应,选择过控件的事件响应,选择“代码生成器代码生成器”进入代进入代码编辑。

      码编辑进入进入VBA环境的环境的3中方式中方式 47.2 VBA模块简介模块简介7.2.1 标准模块标准模块§Sub子过程§Function函数过程7.2.2 类模块类模块§系统对象模块窗体对象模块和报表对象模块等§用户定义类模块v过程是模块的主要组成单元过程是模块的主要组成单元 57.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础v数据类型数据类型数据类型类型标识符号字段类型取值范围 整数Integer%字节/整数/是/否-32768~32767 长整数Long&长整数/自动编号-2147483648~2147483647 单精度数Single!单精度数负数-3.402823E38~-1.401298E-45正数1.401298E-45~3.402823E38 双精度数Double#双精度数负数 -1.79769313486232E308~-4.94065645841247E-324正数 4.94065645841247E-324~1.79769313486232E308 货币Currency@货币-922337203685477.5808~922337203685477.5807 字符串String$文本0字符~65500字符 布尔型Boolean逻辑值True或False 日期型Date日期/时间100年1月1日~9999年12月31日 变体类型Variant无任何January1/10000(日期)数字和双精度同,文本和字符串同 67.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础v变量与常量变量与常量变量是指程序运行时值会发生变化的数据。

      变量变量是指程序运行时值会发生变化的数据变量名的命名,同字段命名一样,变量命名不能包含有名的命名,同字段命名一样,变量命名不能包含有空格或除了下划线字符(空格或除了下划线字符(_)外的任何其它的标点符)外的任何其它的标点符号,其长度不得超过号,其长度不得超过255个字符常量是在程序中可以直接引用的实际值,其值在常量是在程序中可以直接引用的实际值,其值在程序运行中不变不同的数据类型,常量的表现形程序运行中不变不同的数据类型,常量的表现形式也不同,在式也不同,在VBA中有中有3种常量:直接常量、符号种常量:直接常量、符号常量和系统常量常量和系统常量 77.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础v变量的声明变量的声明§Dim……[As]例如:Dim NewVar_1 As Integer ’ NewVa_1为整型变量Dim NewVar_2%, sum!’ NewVar_2为整型变量,sum为单精度型变量Dim NewVar_2%, sum!相当于Dim NewVar_2 As Integer, sum As Single。

      87.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础§强制声明在默认情况下,在默认情况下,VBA允许在代码中使用未声明的允许在代码中使用未声明的变量,如果在模块设计窗口的顶部变量,如果在模块设计窗口的顶部“通用通用-声明声明”区区域中,加入语句:域中,加入语句:Option Explicit 97.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础v变量的作用域变量的作用域1.局部范围局部范围 在子过程或函数过程中定义Dim、Ststic、Private…As2.模块范围模块范围在模块通用区定义Dim、Ststic、Private…As3.全局范围全局范围Public…As 107.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础v数据库对象变量数据库对象变量Access建立的数据库对象及其属性,均可被看成建立的数据库对象及其属性,均可被看成是是VBA程序代码中的变量及其指定的值来加以引用程序代码中的变量及其指定的值来加以引用例如,例如,Access中窗体与报表对象的引用格式为:中窗体与报表对象的引用格式为: Forms!窗体名称窗体名称!控件名称控件名称[.属性名称属性名称]或或 Reports!报表名称报表名称!控件名称控件名称[.属性名称属性名称] 117.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础v数组数组是在有规则的结构中包含一种数据类型的一组数据,也称作数组元素变量。

      数组变量由变量名和数组下标构成,通常用Dim语句来定义数组,定义格式为:Dim 数组名([下标下限 to] 下标上限)例如:Dim NewArray(10) As Integer’ 定义了11个整型数构成的数组,数组元素为NewArray(0)至NewArray(10)Dim NewArray(1 To 10) As Integer’ 定义了10个整型数构成的数组,数组元素为NewArray(1)至NewArray(10) 127.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础7.3.4 常用标准函数常用标准函数标准函数一般用于表达式中,有的能和语句一样使用其标准函数一般用于表达式中,有的能和语句一样使用其使用形式如下:使用形式如下:函数名(函数名(<参数参数1><,参数参数2>[,参数参数3][,参数参数4][,参数参数5]…))其中,函数名必不可少,函数的参数放在函数名后的圆括其中,函数名必不可少,函数的参数放在函数名后的圆括号中,参数可以是常量、变量或表达式,可以有一个或多个,号中,参数可以是常量、变量或表达式,可以有一个或多个,少数函数为无参函数每个函数被调用时,都会返回一个返少数函数为无参函数。

      每个函数被调用时,都会返回一个返回值 1.算术函数2.字符串函数3.日期/时间函数4.类型函数 137.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础7.3.5 运算符和表达式运算符和表达式§运算符1.算术运算符用于算术运算,主要有乘幂(^)、乘法(*)、除法(/)、整数除法(\)、求模运算(Mod)、加法(+)及减法(–)等7个运算符 Dim MyValue’ 变量定义变量定义MyValue = 10 Mod 4’ 返回返回2MyValue =10 \ 3’ 返回返回3 147.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础2.关系运算符.关系运算符 用来表示两个或多个值或表达式之间的大小关系,有相等(=)、不等(<>)、小于(<)、大于(>)、小于相等(<=)和大于相等(>=)等6个运算符MyValue = ( 10 > 4 )’ 返回TrueMyValue = ( 1=2 )’ 返回FalseMyValue = (”周” < ”刘” )’ 返回FalseMyValue = ( #2013/12/25# <= #2014/2/28# ) ’ 返回True 157.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础3.逻辑运算符.逻辑运算符用于逻辑运算,包括:与(And)、或(Or)和非(Not)3个运算符。

      MyValue = ( 10 > 4 AND 1 >= 2 ) ’ 返回FalseMyValue = ( 10 > 4 OR 1 >= 2 ) ’ 返回True 167.3 VBA7.3 VBA程序设计基础程序设计基础程序设计基础程序设计基础优先级高 低高低算数运算符连接运算符比较运算符逻辑运算符指数运算 (^)字符串连接 (&)字符串连接 (+)相等 (=)不等 (<>)小于 (<)大于 (>)小于相等 (<=)大于相等 (>=)Not负数 (–)And乘法和除法 (*、、/)Or整数除法 (\)求模运算 (Mod)加法和减法 (+、、–)§运算符的优先级 177.4 VBA7.4 VBA流程控制语句流程控制语句流程控制语句流程控制语句VBA程序语句按照其功能不同分为两大类型:程序语句按照其功能不同分为两大类型:一是声明语句,用于给变量、常量或过程定义命一是声明语句,用于给变量、常量或过程定义命名;二是执行语句,用于执行赋值操作、调用过程、名;二是执行语句,用于执行赋值操作、调用过程、实现各种流程控制。

      实现各种流程控制执行语句可分为执行语句可分为3种结构:种结构:1.顺序结构:按照语句顺序顺次执行如赋值语.顺序结构:按照语句顺序顺次执行如赋值语句、过程调用语句等句、过程调用语句等2.分支结构:又称选择结构,根据条件选择执行.分支结构:又称选择结构,根据条件选择执行路径3.循环结构:重复执行某一段程序语句.循环结构:重复执行某一段程序语句 187.4 VBA流程控制语句流程控制语句赋值语句赋值语句赋值语句是为变量指定一个值或表达式通常以赋值语句是为变量指定一个值或表达式通常以等号(等号(=)连接在前面我们已多次用到,其使用格)连接在前面我们已多次用到,其使用格式为:式为:[[Let]] 变量名变量名 = 值或表达式值或表达式这里,这里,Let为可选项为可选项注意:注意:“=”是赋值号,不是等号是赋值号,不是等号 197.4 VBA流程控制语句流程控制语句7.4.2 条件语句条件语句1.If—Then语句(单分支结构)语句结构为:If <条件表达式1> Then <条件表达式1为真时要执行的语句>或If <条件表达式1> Then <条件表达式1为真时要执行的语句序列>End IfTFFT条件表达式语句块图8.8 单分支结构流程图 图8.9 双分支结构流程图条件表达式语句块1语句块2 207.4 VBA流程控制语句流程控制语句2..If…Then…Else语句(双分支结构)语句(双分支结构)语句结构为:If <条件表达式1> Then <条件表达式1为真时要执行的语句> Else <条件表达式1为假时要执行的语句>或If <条件表达式1 > Then <条件表达式1为真时要执行的语句序列>Else <条件表达式1为假时要执行的语句序列>End If 217.4 VBA流程控制语句流程控制语句3..If—Then—ElseIf语句(多分支结构)语句(多分支结构)语句结构为(图所示):语句结构为(图所示):If  <条件表达式条件表达式1> Then <条件表达式条件表达式1为真时要执行的语句序列为真时要执行的语句序列1>ElseIf <条件表达式条件表达式2 > Then<如果条件表达式如果条件表达式1为假,并且条件表达式为假,并且条件表达式2为真时要执行为真时要执行的语句系列的语句系列2>……[else<语句序列语句序列n> ]End IfTTTFF条件表达式1语句块1条件表达式2语句块2语句块nF条件表达式n语句块n+1图 8.10 多分支结构流程图 227.4 VBA流程控制语句流程控制语句4..Select Case—End Select语句语句使用格式如下:使用格式如下:Select Case 表达式 表达式Case 表达式表达式1 表达式的表达式的值与表达式与表达式1的的值相等相等时执行的行的语句序列句序列[Case 表达式表达式2 To 表达式表达式3] [表表达达式式的的值介介于于表表达达式式2的的值和和表表达达式式3的的值之之间时执行行的的语句序列句序列][Case Is 关系运算符 表达式关系运算符 表达式4] [表表达达式式的的值与与表表达达式式4的的值之之间满足足关关系系运运算算为真真时执行行的的语句序列句序列][Case Else] [上面的情况均不符合上面的情况均不符合时执行的行的语句序列句序列]End Select 237.4 VBA流程控制语句流程控制语句FT表达式1语句块FT表达式2语句块FT表达式n语句块语句块图8.11 Select Case… End Select语句结构流程图 247.4 VBA流程控制语句流程控制语句7.4.3 循环语句循环语句1. For—Next语句 For—Next语句能够重复执行程序代码区域特定次数,使用格式如下:For 循环变量=初值 To 终值 [Step 步长] 循环体 [条件语句序列 Exit For 结束条件语句序列]Next  [循环变量]循环变量=初值循环变量≤终值循环变量=循环变量+步长值Next的下一条语句图 8.12 For循环语句流程图循环体FT 257.4 VBA流程控制语句流程控制语句2.DoWhile—Loop语句使用格式如下:Do While <条件式> 循环体 [条件语句序列 Exit Do 结束条件语句序列]LoopT条件表达式语句块F图8.13 Do While—Loop循环语句流程图 267.4 VBA7.4 VBA流程控制语句流程控制语句流程控制语句流程控制语句3.Do Until—Loop语句与DoWhile—Loop结构相对应,还有另一个Do循环结构,DoUntil—Loop结构。

      该结构是条件式值为假时,重复执行循环,直至条件式值为真,结束循环条件表达式语句块FT图8.14 Do Until—Loop循环语句流程循环流程如图所示使用格式如下:Do Until <条件式> 循环体 [条件语句序列 Exit Do 结束条件语句序列]Loop条件表达式语句块FT图8.14 Do Until—Loop循环语句流程 277.4 VBA7.4 VBA流程控制语句流程控制语句流程控制语句流程控制语句4..Do—Loop While语句语句Do 循环体循环体 [条件语句序列条件语句序列 Exit Do 结束条件语句序列结束条件语句序列]Loop  While 条件式条件式循环流程如图所示循环流程如图所示 5..Do—Loop Until语句语句Do 循环体循环体 [条件语句序列条件语句序列 Exit Do 结束条件语句序列结束条件语句序列]Loop Until 条件式条件式循环流程如图所示循环流程如图所示 287.4 VBA7.4 VBA流程控制语句流程控制语句流程控制语句流程控制语句语句块条 件 表达式TF语句块条 件 表达式FT图 8.15 Do—Loop While循环语句流程图 图 8.16 Do—Loop Until循环语句流程图 297.5 7.5 面向对象程序设计的基本概念面向对象程序设计的基本概念7.5.1 集合和对象一个对象就是一个实体,如一辆自行车或一个人一个对象就是一个实体,如一辆自行车或一个人等。

      每种对象都具有一些属性以相互区分,如自行等每种对象都具有一些属性以相互区分,如自行车的尺寸、颜色等即属性可以定义对象的一个实车的尺寸、颜色等即属性可以定义对象的一个实例 对象除了属性以外还有方法对象的方法就是对对象除了属性以外还有方法对象的方法就是对象的可以执行的行为,自行车行走、人说话等一象的可以执行的行为,自行车行走、人说话等一般情况下,对象都具有多个方法般情况下,对象都具有多个方法 在在Access应用程序由表、查询、窗体、报表、宏应用程序由表、查询、窗体、报表、宏和模块对象列表构成,形成不同的类和模块对象列表构成,形成不同的类 307.5 7.5 面向对象程序设计的基本概念面向对象程序设计的基本概念7.5.2 属性和方法属性和方法 属性和方法描述了对象的性质和行为其引用方属性和方法描述了对象的性质和行为其引用方式为:对象式为:对象.属性属性 或或 对象对象.行为Access中中“对象对象”可以是单一对象,也可以是对可以是单一对象,也可以是对象的集合例如,属性表示象的集合例如,属性表示“标签标签”控件对象的标控件对象的标题属性,题属性,Reports.Item(0)表示报表集合中的第一个表示报表集合中的第一个报表对象。

      数据库对象的属性均可以在各自的报表对象数据库对象的属性均可以在各自的“设设计计”视图中,通过视图中,通过“属性窗体属性窗体”进行浏览和设置进行浏览和设置 317.5 7.5 面向对象程序设计的基本概念面向对象程序设计的基本概念7.5.3 事件和事件过程事件和事件过程 事件是事件是Access窗体或报表及其上的控件等对象可窗体或报表及其上的控件等对象可以以“辨识辨识”的动作,如单击鼠标、窗体或报表打开的动作,如单击鼠标、窗体或报表打开等在Access数据库系统里,可以通过两种方式来数据库系统里,可以通过两种方式来处理窗体、报表或控件的事件响应一是使用宏对处理窗体、报表或控件的事件响应一是使用宏对象来设置事件属性,对此前面已有叙述;二是为某象来设置事件属性,对此前面已有叙述;二是为某个事件编写个事件编写VBA代码过程,完成指定动作,这样的代码过程,完成指定动作,这样的代码过程称为事件过程或事件响应代码代码过程称为事件过程或事件响应代码 327.7 VBA7.7 VBA常见操作常见操作常见操作常见操作 打开和关闭操作1.打开窗体操作命令格式为: formname[,view][,filtername][,wherecondition][, datamode][, windowmode]例如:以对话框形式打开名为“学生信息登录”窗体。

      Docmd.OpenForm “学生信息登录”,,,, acDialog注意,参数可以省略,取缺省值,但分隔符”,”不能省略 337.7 VBA7.7 VBA常见操作常见操作常见操作常见操作2.打开报表操作命令格式为:命令格式为:DoCmd.OpenReport reportname[, view][, filtername][, wherecondition]例如:预览名为例如:预览名为“学生信息表学生信息表”报表的语句为:报表的语句为:Docmd.OpenReport “学生信息表学生信息表”, acViewPreview注意,参数可以省略,取缺省值,但分隔符注意,参数可以省略,取缺省值,但分隔符”,”不能省略不能省略 347.7 VBA7.7 VBA常见操作常见操作常见操作常见操作3.关闭操作命令格式为:命令格式为:DoCmd.Close [objecttype][, objectname][, save]例如:关闭名为例如:关闭名为“学生信息登录学生信息登录”窗体DoCmd.Close acForm, ”学生信息登录学生信息登录”如果如果“学生信息登录学生信息登录”窗体就是当前窗体,则可窗体就是当前窗体,则可以使用语句:。

      以使用语句: 357.7 VBA7.7 VBA常见操作常见操作常见操作常见操作8.7.2 输入和输出操作1.输入框(InputBox)InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])例如:例如:strName = InputBox("请输入姓名:请输入姓名:", "Msg") 367.7 VBA7.7 VBA常见操作常见操作常见操作常见操作2.消息框(MsgBox)MsgBox(prompt[, buttons] [, title] [, helpfile][, context]) 例如:例如:MsgBox "数据处理结束数据处理结束!", vbInformation, "消消息息"显示消息框如图显示消息框如图 NCREAccessAccess数据库程序设计数据库程序设计 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.