Access 2010--第8章 程序设计语言VBA第8-2讲 VBA语法知识
Access基础教程-第八章使用VBA编程
Access基础教程--第八章使用VBA编程本章内容◆VBA编程基础◆创建和设计VBA程序◆VBA程序调试与运行一、VBA编程基础知识在执行简单的操作时,宏可以完成,如窗体的打开与关闭、工具栏的显示和隐藏等。
对于稍复杂一些的任务,则可用Visual Basic for Application进行编程完成。
1.VBA的数据类型下面对VBA中的数据类型、数据类型之间的转换、数据类型的对比进行介绍。
⑴数据类型下表列出VBA中的基本数据类型。
类型名声明符字节————————————————Byte(单字节型)1Integer(整型)% 2Long(长整型)& 4Single(单精度型)! 4Double(双精度型)# 8Currency(货币型)@ 8String(字符型)$ n*1Boolean(布尔型)2Date(日期型)8Variant(变体型)xObject(对象型)4————————————————其中,字节、整型、长整型、单精度、双精度、货币等数据类型都属于数值数据类型,可以进行各种数学运算。
字符型数据类型用来声明字符串。
布尔型数据类型用来表示一个逻辑值,为真时显示True,为假时显示Flase。
日期型数据类型用来表示日期,日期常量必须用#括起来,如#2001/3/26#。
变体型数据类型可以存放系统定义的任何数据类型,如数值、字符串、布尔及日期等,其数据类型由最近放入的值决定。
用户可以使用Type语句定义任何数据类型。
用户自定义数据类型可以包括数据类型数组,或当前定义的用户自定义类型的一种或多种元素。
语法:[ Private | Public ] Type 类型名元素名As 数据类型[ 元素名As 数据类型]……End Type例如:定义班级中学生的基本情况数据类型如下:Public Type StudentsName As String(8)Age As IntegerEnd Type声明变量:Dim Student As Students引用数据:Studen =”张三”Student.Age=15下面是详细参考内容◆Boolean 数据类型Boolean 变量存储为16 位(2 个字节)的数值形式,但只能是True 或是False。
ACCESS课件_第八章 VBA编程
8.1.1 VBA简介
• 90年代早期,微软在进行office系列产品的开 发同时,就注意到了不同的应用程序需要用不 同的自动化语言进行功能扩展,于是微软决定 让其开发出来的应用程序能共享一种通用的自 动化语言,这就是Visual Basic For Application——VBA。可以把VBA看成是VB应用 程序的一个子集,实际上,无论在语法结构、 使用方法、甚至是应用界面,二者都是十分相 似的。作为微软公司开发的Visual Basic可视 化编程软件,不仅功能强大,且简单易学,VBA 正是是在VB的基础上进行开发.
• 变量类型:在使用变量的过程中,变量必须是规定了数据类 型的。在使用变量之前应该先对变量进行定义,VBA允许不 进行事先的定义而直接使用变量。通常不进行事先声明的变 量,系统会自动将其的类型定义为Variant变体型。 使用变 量前对变量进行定义是程序设计中的一个良好的习惯,尽管 系统允许不定义而直接使用,但这也容易引起程序错误。
5. 货币型
货币型数据是专门用来计算与货币相关的计算,货币型的小 数点位数是固定的,定义的方法是: Dim 变量名 as Currency
• 6. 变体型
• 变体型数据是特殊的数据类型,特殊在其类型是变 化的,并且可以根据要求进行多次的改变。改变的 过程中,可以是数值型,也可以是字符串型等等。
8.2.2 变量、常量和数组
3. 布尔型
布尔型数据是一个逻辑值,占2个字节, 取值只有2个:true和false。定义的标识符 是boolean。
4. 日期型
日期型是VBA中专门用来表示时间的数据类型。占用8个字 节的存储空间,日期型实际是一个双精度的数值型,其整数 部分存储的是日期,小数部分存储的是时间。与日期型类型 相关的三系统函数来获得系统当前的日期和时间: Date()获得的是当前系统日期, Time()获得的是当前系统时间, Now()获得的是当前系统日期和时间。定义方法是: Dim 变量名 as Date
数据库应用基础Access 2010第8 章 VBA
VBA程序设计概述
• • • • 属性和方法 属性和方法描述了对象的性质和行为。其引用格式为:对象. 属性或对象.合法。 Access中的“对象”可以是单一对 象,也可以是对象的集合。 事件和事件过程 事件是Access窗体或报表及其上的控件等对象可以“识别” 的动作,例如在窗体上单击鼠标左键,那么窗体会捕捉到单击 事件。在Access数据库系统中,可以通过两种方式处理窗体 、报表、控件的事件响应,一种是使用宏对象来设置事件属性 ;另一种是为某个事件编写VBA代码来完成特定的响应动作, 这样事件响应代码也称为事件过程。
8.1.1 模块的分类
• 模块主要可以分为2大类: • 类模块:窗体和报表模块 • 侧重局部作用。作用范围是所属窗体或报表的内部,生 命周期随窗体或报表的创建而开始、关闭而结束。 • 主要用于实现本窗体或报表的功能、与其它对象的联系 。 • 标准模块:公共模块 • 侧重全局作用。作用范围为整个应用程序,生命周期随 应用程序的运行而开始、关闭而结束。 • 主要用于放置一些供类模块调用的公共变量或过程。
8.1.2 模块的组成
• • • • • • Sub子过程,功能是自定义的语句 Sub子过程又称为子程序。一般实现一个简单 的功能,无返回值。可以作为独立的事件过程 ,也可以供其它过程调用。 其格式如下: Sub 子过程名(参数表列) [程序代码] End Sub
8.1.2 模块的组成
• • • • • • Function 函数过程,功能是自定义的操作符 Function函数过程又称为自定义函数。有返回 值,不能作为独立的事件过程,主要供其它过 程调用。 其格式如下: Function 函数名(参数表列) [程序代码] End Function
【例8-1】
Access基础教程-Access2010第八章
本节将对VBA中的常量、变量、标准函数及表达式、分 支选择结构、循环结构、数组、子程序子函数和数组等内容 加以介绍。在本节所引用的实例中,无法回避VBA的窗体环 境,相关内容读者可以参阅第9章。由于本节的内容是VBA 的编程基础,因此格外重要。可以说,没有Basic的语法规 则,就没有VBA程序。 8.3.1 常量 在程序运行过程中,其值不可以发生变化的量叫做常量。 常量的作用在于以一些固定的、有意义的名字保存一些在程 序中始终不会改变的值。
在VBE的“工程”窗口下,鼠标右击需添加代码的窗体 或报表,在弹出菜单中选择“插入”命令,然后在其子菜单 中选择“类模块”,就建立了一个新的类模块,如图8.1所 示。 类模块中,为新建类添加属性需要用到Property过程, 该过程有三种类型:get、let和set。get用来在读取属性时 执行;let用来在写入属性时执行;set是let的一种特例,在 该子程序中,被传递到子程序的值本身是一个对象。如果是 为新建类添加方法,可以通过Function子函数来完成。
长春师范大学计算机科学与技术学院
8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8
模块 面向对象程序设计基础 VBA编程基础 VBA程序流程控制 子过程与函数过程 文件 API函数与ActiveX数据对象 常用操作方法
通过Access自带的向导工具,能够创建表、窗体、报 表和宏等基本组件。但是,由于创作过程完全依赖于 Access内在的、固有的程序模块,这样虽然方便了用户的 使用,但是同时也降低了所建系统的灵活性,对于数据库中 一些复杂问题的处理则难以实现。因此,为了满足用户更加 广泛的需求,Access为用户提供了它自带的编程语言VBA。 VBA是Visual Basic for Applications的英文缩写,是 用Basic语言来作为语法基础的可视化的高级语言。它使用 了对象、属性、方法和事件等概念,使得初学者在编程的过 程中感到十分容易,这也可以说是VBA的优点之一。
Access2010数据库应用教程第8章
4.将宏转换为VBA代码 在Access中,宏的每个操作在VBA中都有等效的代码。 独立宏可以转换为标准模块,嵌入在窗体、报表及控件事件 中的宏可以转换为类模块。 将宏转换为VBA代码的方法有以下两种: (1)打开宏设计视图,单击功能区“宏工具/设计” 选项 卡下“工具”组中的“将宏转换为Visual Basic代码” 按钮。出 现 “转换宏”对话框,单击“转换”按钮。
(2)打开窗体或报表设计视图,单击功能区“设计”选项卡 下“工具”组中的“将窗体的宏转换为Visual Basic代码” 命令。
8.2
面向对象程序设计
面向过程程序设计将数据和数据的处理相分离,程序由过程 和过程调用组成。 面向对象程序设计则将数据和数据的处理封装成一个称之为 “对象”的整体。对象是面向对象程序的基本元素,其程序范型 由对象和消息组成,程序中的一切操作都是通过向对象发送消息 来实现的,对象接收到消息后,启动有关方法完成相应的操作。 VBA是Access系统内臵的Visual Basic(VB)语言,VB语言是可 视化的、面向对象、事件驱动的高级程序设计语言,采用面向对 象的程序设计思想。
8.2.1 基本概念
在面向对象的程序设计中,基本概念包括对象、类、属性、 事件、方法等。 1.类和对象 在自然界的一切事物都是分类的,类是一个抽象的概念。比 如说“人”就是一种分类,是一个抽象的概念。但谈到“张三”、 “李四”等某些具体的人时,这些具体的人称为“人”类的一个 对象。 Access中的对象代表应用程序中的元素,如表、窗体、按钮 等。 Access数据库窗口左边的对象:表、查询、窗体、报表、宏 与模块,应该准确地称为对象类,通过每一个类可以创建多个该 类型的对象。
第8章 VBA与模块
第8章
VBA与模块
Access 2010数据库应用技术第8章 模块与VBA程序设计
2.类模块 类模块其实是一个对象的定义,它封装了一些属性和方 法。VBA中类模块有3种基本类型:窗体模块、报表模块和 自定义类模块。 还有一种自定义类模块,不与窗体和报表相关联,允许 用户自定义所需的对象、属性和方法。
8.1.2 VBA的开发环境 1.VBE的启动 ①单击“创建”选项卡,再在“宏与代码”命令组中单击 “模块”、“类模块”或“Visual Basic”命令按钮,均可以打 开VBE窗口。 ②在导航窗格的“模块”组中双击所要显示的模块名称,就 会打开VBE窗口并显示该模块的内容。 ③在“数据库工具”选项卡中,单击“宏”命令组中的 “Visual Basic”命令按钮,打开VBE窗口。在VBE窗口中,选 择“插入”→“模块”命令,或在VBE窗口“标准”工具栏中 单击“插入模块”命令按钮旁的向下箭头,并从下拉菜单中选 择“模块”命令,可以创建新的标准模块。
1.标准模块 在标准模块中,放置的是可供整个数据库使用的公共过 程,这些过程不与任何对象关联。如果想使设计的VBA代 码具有在多个地方使用的通用性,就把它放在标准模块中。 在标准模块中定义的变量和过程可供整个数据库使用。每 个标准模块有唯一的名称,在导航窗格的“模块”对象中, 可以查看数据库中的标准模块。
例8-1 在“教学管理”数据库中创建一个标准模块。 操作步骤: ①打开VBE窗口。 ②在代码窗口中输入一个名为“qq”的子过程,然后在立即 窗口中输入命令“Call qq()”,或单击VBE窗口“标准”工具栏 中的“运行子过程/用户窗体”命令按钮,或从“运行”菜单 中选择相应命令来运行该过程,随后可以看到该过程的运行结 果。 ③在VBE窗口中单击“标准”工具栏中的“保存”按钮,并 输入模块名称将模块存盘,这样一个标准模块就建好了,回到 Access导航窗格中可以看到建好的模块对象。
ACCESS实例教程(第8章vba)
ACCESS实例教程
例8-2:创建一个标准模块。
4、保存→模块名为mj; 5、新创建窗体——名称为w2; 6、在窗体中添加两个文本框→名称分别为t1,t2; 7、添加命令按钮——名字为c1; 8、选择c1打开属性——【单击】——打开【代码生成器】;
调用过程aa,并将文本
框的值传递给aa
ACCESS实例教程
方法是对象能够执行的动作,决定了对象能完成什 么事。不同对象有不同的方法。如close方法能关闭一个 窗体。
ACCESS实例教程
(5)集合
集合由许多与对象有关的键和值组成,其中的键 和值是配对的。如一本书是一个对象,书的页码是键, 页码对应的内容是值。所有配对的页码和内容组成了 书对象的集合。
(6)过程
工程窗口 -选择对象
选择 事件
属性窗口
-选择对象 的属性
代码 窗口
ACCESS实例教程
(1)工程窗口
也称工程资源管理器 ,一个数据库应用系统就是一 个工程,系统中的所有类模块及标准模块对象都在该窗 口中显示出来。
类模块
标准模块
ACCESS实例教程
(2)属性窗口
属性窗口列出了选定对象的属性,可以在设计时查 看、改变这些属性。当选取了多个控件时,属性窗口会 列出所有控件的共同属性。
Access 2010--第8章 程序设计语言VBA第8-5讲 面向对象的程序设计
数据库的数据对象的定义
数据库的数据对象的存取
数据库的数据对象的管理
业务应用类
数据库应用系统的业务界面设计 数据库应用系统的业务逻辑设计
数据库应用系统的业务运行控制设计
二、Access VBA中的对象类
2. Access VBA中的自定义类
应用背景
VBA提供的标准类不能完全满足用户的需求 需要定义自己的对象类来完成某些特定的任务
物的属性)和作用于数据的操作(体现处理事 物的方法)构成的独立整体
一、面向对象程序设计基础
2.面向对象程序设计的基本概念
类
为提高程序代码的可重用性,一个特定对象的
属性和方法由一个特定类来定义
所谓类就是对一组具有共同方法和属性的对象
的抽象描述。
就一个具体的对象而言,该对象只是其所属的
因为Function可以返回值 而Sub过程不能返回值
复习:
VBA语句的作用是什么?
VBA程序就是由大量的语句构成 一个语句是能够完成某项操作的一条命令
VBA语句的书写规则有哪些?
一般一行写一个语句 若语句太长,一行写不下,可以使用续行符
“_”将语句连续写在下一行
可以用冒号将多个语句分隔写在一行 VBA代码中所有的符号均为英文输入状态下的半角符号 在VBA代码中,字母不区分大小写
复习:
VBA的语句类型有哪两类?
指出下面程序中的语句类型是哪一种?
复习:
VBA执行语句的三种结构是什么?
答案:
一、面向对象程序设计基础
1.面向对象程序设计的特点
1. Access VBA中的基类
Access2010 第八章
8.5.4 循环语句
循环结构允许重复执行一行或数行程序代码。在 VBA中提供了两种循环结构,即 DO循环和FOR循环。 1. Do While…Loop循环语句 语法格式为: Do While 条件表达式 <循环体> [Exit Do] <语句块> Loop 功能:当条件表达式结果为真时,执行循环体,直到条 件表达式结果为假或执行到Exit Do语句而退出循环体。
8.3.4 创建模块
其中,关键字Public和Private用于表示该
过程所能应用的过程。Public过程能被所有模
块的所有其他过程调用。Private过程只能被
同一模块的其他过程调用。Static用于设置静
态变量,Sub代表当前定义的是一个子程序。
8.3.4 创建模块
2.Function过程 Function过程又称函数过程,以关键词 Function开始,以End Function结束。 其定义语句语法格式为: [Public︱Private][Static] Function 函数过程名 ([<形参>])[As 数据类型] [<程序代码>] End Function
8.4.2 数据类型
1.布尔型数据
2.日期/时间型数据
3.变体数据类型
4.对象数据类型 5.用户定义的数据类型
8.4.3 常量、变量与数组
1.常量
1) 符号常量 2) 内部常量 3) 系统常量
8.4.3 常量、变量与数组
2.变量
变量是用来存储在程序运行中可以改变 的量,常用来临时保存数据。
8.4.3 常量、变量与数组
8.7.3 VBA编程验证数据
使用窗体和数据访问页,每当保存记录
第8章 Access编程——VBA模块讲义
五、运算符和表达式
算术运算符
连接运算符
逻辑运算符
六、程序结构
顺序:按照语句顺序依次执行的结构
条件:
循环:当型循环、直到型循环
七、程序控制语句(p255)
1.条件分支语句
(1)行If语句
If条件Then语句1 [else]语句2
(2)块If语句
If条件Then
语句组l
Eபைடு நூலகம்se
语句组2
End If
(3)如果条件复杂,还可以对块if语句变形成嵌套结构。
3、数组
突破方法
通过实例演示
所用基础
知识提示
详细内容及教学过程
一、VBA(Visual Basic for Application)简介
1、在实际的应用系统中有些需求是交互式操作或宏所无法完成的,只能通过编写程序来实现。
2、VBA是Microsoft Office软件的内置编程语言,VBA的语法与Visual Basic编程语言相互兼容。
3、在Access中使用VBA语言不仅能够完成某些操作或宏力不能及的事,而且能够开发出功能更加强大,结构更加复杂的数据库系统。
二、VB编辑器
编写程序可以利用Visual Basic编辑器,启动编辑器的常用方法有三种:
通过事件过程启动
通过模块对象
通过“工具”菜单中的“VB编辑器”
三、VBA的编程环境—VBE
2.多分支语句
从上面的多重嵌套的if语句看出,这种句子结构十分复杂,可读性低,有效的方法是使用Select Case语句来控制多分支。
3.循环控制结构
(1)While循环结构
While条件
循环体
Wend
(2) Do...Loop语句
第8章 Access 2010数据库应用教程 模块
Access 2010数据库应用教程
8.3.2 VBE窗口组成
VBE窗口分为菜单栏、工具栏和一些功能 窗口。其主界面如图8-5所示:
Access 2010数据库应用教程
图8-5 VBE主界面
Access 2010数据库应用教程
8.4 VBA程序设计基础
8.4.1数据类型 数据类型就是一组性质相同的值的集合 以及定义在这个值集合上的一组操作的总称, VBA的数据类型如表8-3所示。
Access 2010数据库应用教程
8.2.2对象、属性、方法和事件
1.对象 在面向对象的程序设计中,对象的概念是 对现实世界中对象的模型化,它是代码和数据 的组合,同样具有自己的状态和行为。对象的 状态用数据来表示,称为对象的属性;而对象 的行为用对象中的代码来实现,称为对象的方 法。
Access 2010数据库应用教程
8.5.3流程控制语句
流程控制语句就是如何控制各操作的执行 顺序,结构化程序设计要求,所有的程序都可 以只按照三种控制结构来编写,这三种结构是: (1)顺序结构; (2)选择结构; (3)循环结构。
Access 2010数据库应用教程
8.5.4顺序结构
如果没有使用任何控制执行流程的语句, 程序执行时的基本流程是从左到右、自顶向下 的顺序执行各条语句,直到整个程序的结束, 这种执行流程称为顺序结构。
Access 2010数据库应用教程
8.2.2对象、属性、方法和事件
4.对象的事件 在VBA中,对象的事件是指识别和响应的 某些行为和动作。在大多数情况下,事件是通 过用户的操作产生的。
Access 2010数据库应用教程
8.3VBA编程环境—VBE窗口
8.3.1进入VBE窗口 进入VBE的方法有多种。可以将这些方法 分为两类,一类是从数据库窗口中打开VBE, 一类是从“报表”或“窗体”的“设计视图” 中打开VBE。
Access 2010--第8章 程序设计语言VBA第8-3讲 VBA流程控制语句
该函数作用:
根据不同条件成立与否决定函数的返回值。函 数依次判断条件1、条件2„„条件n,直到出现条 件为真(True)时,返回对应的表达式的值。如 果其中有部分不成对,则会产生一个运行错误。
一、选择控制语句
3、条件函数----Switch()函数 例如:
y=Switch(x>0,1,x=0,0,x<0,-1) 当x>0时,变量y赋值为1 当x=0时,变量y赋值为0
双分支
多分支
一、选择控制语句
1、If选择控制语句--单分支选择控制语句 单分支选择控制语句主要有以下两种格式。 【格式1】
If <条件表达式> Then 语句序列 Then
【格式2】
If <条件表达式>
语句序列
End If
一、选择控制语句
1、If选择控制语句--单分支选择控制语句 单分支选择控制语句的执行流程如下:
IIf()函数根据条件返回不同值
其调用格式为:
IIf(条件,表达式1,表达式2)
一、选择控制语句
3、条件函数----IIf()函数 条件为真时函数返回<表达式1>的值,条件 为假时函数返回<表达式2>的值。 例如:
IIf(month(出生日期)=month(now),"本月生日
","不是本月生日")
上述语句的作用是:
当x<0时,变量y赋值为-1
一、选择控制语句
3、条件函数----Choose函数 Choose函数调用格式:
Choose(索引式, 选项1 [, 选项2,„[, 选项n]])
该函数根据“索引式”的值来返回选项列表 中的某个选项值。例如:
Access数据库技术及应用(2010版)第8章-模块和VBA程序设计
14
第8章模块和VBA程序设计
4.方法
方法是对象可以执行的行为。每个对象都有 自己的若干方法,用来完成某种特定的功能。 [对象名.]方法[参数名表]
说明:方括号内的内容是可选的。
15
第8章模块和VBA程序设计
8.1.3 模块的编程界面VBE
1.进入VBE编程环境 2.VBE窗口
3.简单程序实例
10
第8章模块和VBA程序设计
1、对象
在Access中任何可操作的实体是对象。 如表、查询、窗体、报表、宏、文本框、命 令按钮等都可视为对象。 每个对象均有名称,称为对象名。每个对象 都有属性、事件、方法等。
11
第8章模块和VBA程序设计
2.属性
属性反映了每一个对象所具有的特征和状态。 静态设置
16
第8章模块和VBA程序设计
1.进入VBE编程环境
(1)进入类模块编程环境 (2)进入标准模块编程环境
17
第8章模块和VBA程序设计
2.VBE窗口
工程资源管理 器窗口
标准工具栏
代码窗口 属性窗口
立即窗口
18
第8章模块和VBA程序设计
3.简单程序实例
【例8.1】 创建第一个类模块。
要求:新建窗体,在其上放置一个按钮(Command0), Command0的标题设置为“创建程序”,单击该按钮显 示一个含有“学习创建第一个VBA程序!”的信息框。
13
第8章模块和VBA程序设计
3.事件及事件过程
事件过程是事件处理程序,与事件一一对应。它 是为响应由用户或程序代码引发的事件或由系统触发 的事件而运行的过程。过程包含一系列的VBA语句, 用以执行操作或计算值。
access8-VBA编程入门语法
MsgBox(提示信息[,按钮数目和类型][,标题])
MsgBox函数:变量[%]=MsgBox(提示[,按钮][,标题]) MsgBox方法:MsgBox 提示[,按钮][,标题]
8-3 VBA 常用语句
8-3-1 VBA语句书写规则 VBA代码不区分字母的大小写
存储空间
2 4 4
8
货币型
@
8
(Currency)
日期型(Date)
8
取值范围
-32768~32767
-2147483648~2147483647
负数:-3.402823E38~-1.401298E-45 正数: 1.401298E-45~3.402823E38
负数:-1.79769313486232E308~4.94065645841247E-324 正数:4.94065645841247E-324~ 1.79769313486232E308
常用内部函数
参照教材P201页表8-5常用内部函数,在立即窗口练 习,体会函数的功能。
输入、输出函数
InputBox函数
InputBox(提示[,标题][,缺省]) 其中:提示:提示信息;
标题:对话框标题; 缺省:输入区缺省值。
注意:函数的返回值为字符型数据。
MsgBox函数或方法(用于显示输出信息)
VBE编程环境
工程窗口 -选择对象
选择 事件
属性窗口 -选择对象 的属性
代码 窗口
8-2 VBA编程基础
8-2-1 常量、变量 VBA使用常量、变量来存储值。用来保存 在程序运行期间数据。
常量:在程序运行中其存储的值不会改变。 变量:在程序运行中其值可以改变。
Access教学课件:第八章 VBA程序设计
▪ 对象名.属性名 = 新的属性值
8.1.1 面向对象程序设计的基本概念
❖ 3.对象的方法
▪ 对象的方法是系统事先设计好的、对象能执行的 操作,目的是改变对象的当前状态。
▪ 注意:对象的方法不会显示在属性窗口中,它只
能在VBA应用程序中调用
▪ 调用格式为:对象名.方法名
▪ 事件过程的一般格式如下:
• Private Sub 对象名_事件名([形参表]) VBA程序代码
End Sub
▪ 其中,“对象名_事件名”是系统自动生成的事件 过程名,系统根据实际对象和事件将对象名、事 件名用下划线连接起来组成事件过程名。
8.1.1 面向对象程序设计的基本概念
❖6.事件过程举例 ▪ 【例8-1】在例8-1窗体上,对“显示”命令按钮 (Command0)编写click事件代码,实现功能:单击该命 令按钮时,弹出消息框显示“欢迎学习VBA!”。
第8章 VBA程序设计
第8章
8.1 VBA编程基础 8.2 数据类型 8.3 VBA基本语句 8.4 程序基本结构
8.5 过程
本章小结 思考与练习
❖本章介绍的VBA(Visual Basic Application)是
Microsoft Office系列软件的内置编程语言,VBA的 语法与独立运行的Visual Basic编程语言互相兼容。 VBA能够开发出功能更强大、更具灵活性和自动性的 数据库应用系统,从而使数据库系统更加完善。
8.1.2 模块的基本概念
❖模块是Access数据库中存放VBA程序代码的“容 器”。VBA程序代码以过程为基本单位保存在模 块中,每个过程可实现单一的功能,模块就是过 程的集合。
8.1.2 模块的基本概念
Access数据库应用教程 第8章 VBA编程基础
3.模块的组成
通常每个模块由声明和过程两部分组成。 (1)声明部分
可以在这部分定义常量变量、自定义类型和外部过程。每个模 块只有一个声明部分。 (2)过程部分 每个过程是一个可执行的代码片段,每个模块可有多个过程,过 程是划分VBA代码的最小单元。
Access 数据库应用教程
第8章 VBA编程基础
知识要点
了解Access数据库的模块类型 熟练掌握VBA编程环境-VBE窗口的使用 掌握Access的数据类型 熟练掌握VBA程序流程设计 掌握过程声明、调用与参数传递 了解 VBA事件驱动机制
重点与难点
重点:VBA编程环境 VBA程序设计基础 VBA程序流程设计 过程声明、调用与参数传递
功能窗口
(3)工程资源器窗口 工程资源器窗口,列出了在应用程序中用到的模块。使用该
窗口,可以在数据库内各个对象之间快速地浏览. (4)属性窗口
属性窗口列出了选定对象的属性。用户可以在“按字母序” 选项卡或者“按分类序”选项卡中查看或编辑对象属性。当选取 多个控件时,属性窗口会列出所选控件的共同属性。
2.模块的类型
Access 2010有两种类型的模块:类模块和标准模块。 (1)类模块
类模块是面向对象编程的基础。可以在类模块中编写代码建立 新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体 和报表也是这样一种类模块,在其上可放置控件,可显示窗体或报 表窗口。
模块的类型
(2)标准模块 标准模块一般用于存放公共过程(子程序和函数),不与其他
3.功能窗口
VBE窗口中提供的功能窗口有代码窗口、对象窗口、立即窗 口、本地窗口、监视窗口、工程资源管理器窗口、属性窗口,用 户可以通过“视图”菜单控制这些窗口的显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
'定义intx为一个整型变量
'定义str1为一个字符串型变量
二、常量和变量
2、变量-------显式声明 (3)使用DefType语句说明变量
DefType语句只能用于模块的通用声明部分,用
来为变量和传递给过程的参数设置默认数据类 型。例如:
DefInt i,a-d
-2147483648~2147483647之间的整数
字节数:4B 对应字段类型:长整型
三、数据类型
4、单精度 关键字 :Single 符号:! 取值范围:
-负数:-3.402823E38~-1.401298E-45 正数:1.401298E-45~3.402823E38
Dim x
As Integer
'定义x为整型变量
Dim y
'定义y为变体型变量
Dim a As String, b As Double
'定义a为字符串型变量,b为双精度型变
三、数据类型
2、变量-------显式声明 (2)使用类型说明符声明变量 首次使用变量时,将类型说明符作为变 量名的一部分放在变量名后即可声明该变量数 据类型,例如:
声明符号常量的语句格式:
Const <符号常量名> [ As <类型> ]=常量表达式
二、常量和变量
1、常量 例如:
Const
PI=3.14 Const PI S=PI*2*2 As Double =3.1415926 FILENAME="学生"
'或
Const Const
二、常量和变量
三、数据类型
1、字节型 关键字 :Byte 取值范围:0~255之间的整数 字节数:1B 对应字段类型:字节
三、据类型
2、整型 关键字 :Integer 符号:% 取值范围:-32768~32767之间的整2 字节数:2B 对应字段类型:整型
三、数据类型
3、长整型 关键字 :Long 符号:& 取值范围:
'定义一个 有7个整型数组元素的数组,下界为-3
若要定义一个4*3二维数组,其中第一维下 界是0,第二维下界是1,可使用以下语句。
Dim intz(3,1 to 3) As Integer
三、数据类型
VBA支持多种数据类型,为方便用户编程, Access 数据表中的字段数据(OLE对象和备 注字段数据类型除外)在VBA中都有对应的 数据类型。
(1)由英文字母、汉字、数字和下划线组成的1-255个字符 (2)必须以字母或汉字开头。 (3)标识符要具有唯一性且不能与关键字相同。
(4)标识符不区分字母大小写。
二、常量和变量
1、常量 常量指在程序执行过程中保持不变的数据量 ,VBA中有值常量、符号常量、固有常量和 系统定义常量四种。
(1)值常量
2、变量 什么是变量?
在程序运行过程中有些数据量会发生变化,对
此计算机的处理方法是将它们存放在内存的一 块临时存储空间中,并给这块存储空间命名以 便于引用该数据量,这块存储空间就是变量。
变量有三要素:变量名、变量类型、变量值 变量名遵循VBA标识符命名规则,变量类型 由声明语句声明或变量的值决定。
此语句说明在模块中以i及a到d开头的变量默认
数据类型为整型。
课本表8-2列出了VBA中常用DefType语句和对应
的数据类型。
二、常量和变量
3、数组 数组是一组相同数据类型的变量的集合。数组 由数组名和数组下标组成。数组的声明格式如 下:
Dim 数组名 ([下界 to ]上界[,„„])As 数据类型
【说明】
(1)省略下界时,默认下界为0,若设置非0下界则 必须使用[下界 to ]。
(2)在模块的通用声明部分可以用Option Base 0/1来指定默认下界。
二、常量和变量
3、数组 例如:
Dim inty(7) As Integer
'定义一个 有8个整型数组元素的数组,下界为0
Dim intx(-3 to 3) As Integer
指在程序中直接使用的数据值,即所谓常数。 不同数据类型的值常量书写格式不同,课本中表 8-1描述了VBA中不同数据类型值常量的书写格式
二、常量和变量
1、常量 (2)符号常量
符号常量是指用标识符标识的在程序执行过程中 保持不变的数据量。符号常量必须先用Const语句定 义然后再使用,并且不允许对其修改或重新赋值。
三、数据类型
2、变量 变量的显式声明
在使用一个新变量前先对该变量进行声明,这
种使用方式叫变量的显式声明。
对变量进行显式声明可以使用Dim语句、类 型说明符号或DefType语句进行。
需要说明的是系统不允许对同一变量进行两 次不同类型的定义。
二、常量和变量
2、变量-------显式声明 (1)使用Dim语句声明变量 【格式】Dim 变量名 As [数据类型] 【说明】在一个Dim语句中可以声明多个变量 ,省略数据类型时,变量为Variant类型
8-2
第8章 VBA程序设计语言
——VBA语法知识
第8章 VBA程序设计语言
——VBA语法知识
教学内容
关键字和标识符
常量和变量
数据类型 表达式
函数
声明语句 赋值语句 注释语句
第8章 VBA程序设计语言
——VBA语法知识
学习目标
认知目标:
了解VBA基础语法知识:关键字和标识符
掌握基本的数据元素和数据类型
学习声明语句、赋值语句和注释语句的使用
能力目标:
能够熟练使用基本数据元素(重点、难点) 会使用声明语句进行声明(重点)
熟练掌握赋值语句和注释语句(重点)
一、关键字和标识符
关键字是计算机语言中事先定义的有特别意义 的标识符号,有时又叫保留字。
标识符是用户所定义的用作常量、变量、过程 、函数以及对象等元素名称的符号。 VBA标识符命名必须遵循如下规则:
二、常量和变量
2、变量 变量的隐式声明
VBA中使用变量前通常要先进行声明,当然也可
以不先声明而直接使用,我们把这种不声明直 接使用的方式叫变量的隐式声明,隐式声明的 变量只在本过程有效,变量的类型为变体数据 类型。
需要注意的是,在VBA编程中建议尽量减少 使用变量的隐式声明,大量使用变量的隐式 声明会对程序调试和变量的识别带来困难。