第8章 模块和VBA程序设计
模块和VBA程序设计

在模块中编写代码时,可以使用调试工具来检查代码中的错误和异常,确保代码的正确性和稳定性。 调试工具包括断点、单步执行、变量监视等。
03 VBA程序流程控制
顺序结构
顺序结构
按照代码的先后顺序执行,是最基本的程序流程结构。
描述
顺序结构按照代码的顺序逐行执行,先执行的语句先执行,后执行的语句后执 行。
VBA具有面向对象的特点,支持类、继承和多 态等特性,使得开发过程更加灵活和高效。
VBA可以用于创建宏、自定义函数、操作Excel 等Office组件,实现自动化办公和定制化功能。
VBA编程环境
01
VBA编程环境通常包括Microsoft Office应用程序(
如Excel、Word等)中的VBA编辑器。
对象
在VBA中,对象是具有属性和方法的实体。例如,Excel工作簿、工作表、单元格等都是对象。
属性
对象的属性描述了对象的特征或状态。例如,一个单元格对象的属性包括它的值、字体、背景色等。
对象的方法
• 方法:对象的方法是对象可以执行的操作。例如 ,一个单元格对象的方法可以包括设置其值、字 体或背景色等。
顺序结构
示例 ```vba Sub sequential_structure()
顺序结构
' 声明变量
Dim number As Integer
顺序结构
' 赋值
number = 10
顺序结构
'
Debug.Print "The number is " & number
顺序结构
End Sub
```
Hale Waihona Puke 选择结构• End If
ACCESS实例教程(第8章vba)

c3→标题分别为“红色”、“绿色”、“蓝色”。
ACCESS实例教程
(4)设置各按钮的前景色,在属性窗口可查 看颜色值。
(5)c1的click事件代码: t1.BackColor = 255 b1.ForeColor = 255
ACCESS实例教程
ACCESS实例教程
8.1.4 标准工具栏
例8-1:创建一个类模块。 1、打开数据库; 2、新创建窗体——名称为w1; 3、在窗体中添加命令按钮——名字为c1; 4、选择c1打开属性——【单击】——打开【代码生成器】;
ACCESS实例教程
例8-1:创建一个类模块。
Private Sub Command0_Click() DoCmd.Close
Docmd是Access的一个特殊对象,用来调用内置方法,在程 序中实现对Access的操作,诸如打开窗口、关闭窗体、打开报表、 关闭报表等。
DoCmd 对象的大多数方法都有参数,有些参数是必需的,有 些则是可选的。若省略可选参数,参数将采用默认值。
(1)用DoCmd 对象打开窗体 格式:DoCmd.OpenForm "窗体名" 功能:用默认形式打开指定窗体。 例如:DoCmd.OpenForm "文本框练习"
方法1:在窗体或报表设计视图中选控件→单击标准工具栏的 “生成器”按钮→在“选择生成器”对话框中选择 “代码生成器”。
方法2:右击窗体或报表设计视图中控件→快捷菜单中选“事 件生成器”→“选择生成器”对话框中选择代码生成 器”。
ACCESS实例教程
8.1.3 VBE窗口
VBE窗口由工具栏、工程资源管理器窗口、 属性 窗口、代码窗口和立即窗口组成。
第8章 模块与VBA程序设计

Variant数据类型是一种特殊数据类型,具有很大的灵活性, 可以表示多种数据类型,其最终的数据类型由赋予它的值来 确定。如果变量在使用前未加以类型说明,默认为Variant型。
2.用户自定义数据类型 VBA允许用户自定义数据类型,使用Type语句就可以实现 这个功能。用户自定义数据类型可包含一个或多个某种数据 类型的数据元素。Type语句的语法格式为 Type 数据类型名 数据元素定义语句 End Type
例8-1 在“教学管理”数据库中创建一个标准模块。 操作步骤: ①打开VBE窗口。 ②在代码窗口中输入一个名为“qq”的子过程,然后在立即 窗口中输入命令“Call qq()”,或单击VBE窗口“标准”工具 栏中的“运行子过程/用户窗体”命令按钮,或从“运行”菜 单中选择相应命令来运行该过程,随后可以看到该过程的运行 结果。 ③在VBE窗口中单击“标准”工具栏中的“保存”按钮,并 输入模块名称将模块存盘,这样一个标准模块就建好了,回到 Access导航窗格中可以看到建好的模块对象。
第8章 模块与VBA程序设计
了解模块的概念与基本操作。 掌握模块和过程的创建方法。 掌握VBA的基础知识。 掌握VBA程序设计中的流程控制方法。 了解VBA数据库访问技术。
8.1 模块与VBA概述 8.1.1 模块的概念 模块是由VBA通用声明和一个或多个过程组成的单元。 组成模块的基础是过程,VBA过程通常分为子过程(Sub过 程)、函数过程(Function过程)和属性过程(Property过程)。每 个过程作为一个独立的程序段,实现某个特定的功能。
2.对象的引用 引用对象属性的语法格式为 对象名.属性名 在程序代码中改变属性的值,其语句格式为 对象名.属性名=属性值 引用方法的语法格式为 对象名.方法名(参数1,参数2,…)
第8章 vba编程基础

8
(2)使用Dim语句声明变量
声明变量的一般方法是用Dim语句,其格式为: Dim 变量名 [As 数据类型] 说明:省略[As 数据类型],则默认定义的变量为 Variant数据类型。 可以使用Dim语句在一行中声明多个变量。 例: Dim strX As String Dim intX As Integer, strZ As String Dim i,j,k As Integer
逻辑运算符的优先级低于关系运算符,常用的3个逻辑运算 符之间的优先级由高到低依次为:Not→And →Or。
18
(5)对象运算符
对象运算符有“!”和“.”两种。
使用“!”运算符可以引用一个窗体、报表或窗体和报表 上的控件。
例:
运算符 Forms![学生信息] Forms![学生信息]![学号] Reports![学生成绩] 引用含义 标识打开的“学生信息”窗体 标识打开的“学生信息”窗体 上的“学号”控件 标识打开的“学生成绩”报表
注意:Type语句只能在模块的通用声明部分使用。
10
使用了Type语句声明了一个用户自定义类型后,就 可以在该声明范围内的任何位置声明该类型的变量。 可以使用Dim语句声明用户自定义类型的变量。 例:Dim x as XS =“张红” x.BirthDate=#80/10/12# x.Sex=0
21
1.注释语句
(1)Rem语句 ,语句格式:Rem 注释内容 (2)英文单引号“’”, 语句格式:’注释内容 注释语句可以添加到程序模块的任何位置,并且默认以 绿色文本显示。 例:str1=“hello” :Rem str1赋值为“hello” str2=“world” „str2赋值为“world”
第8章+VBA与模块

8.1.2 VBA模块
例8-2 建立一个标准模块,运行时显示“欢迎使用Access!” 操作步骤: (1)在数据库中,单击“创建”选项卡下的“模块”按钮 。 (2)输入代码。
(3)单击“保存”按钮,为模块起名:First。 (4)单击标准工具栏上“运行子过程”命令,数据库窗口显 示相应信息。
8.2 面向对象程序设计
8.2 面向对象程序设计
2.使用代码设置对象属性
(3) 编写窗体的Load事件和命令按钮的Click事件。
(4) 运行窗体视图,单击命令按钮“开始”显示结果如下。
8.2 面向对象程序设计
8.2.3 编程步骤
VBA编程有以下几个主要步骤: 1.创建用户界面
2.设置对象属性
3.编写对象的事件过程 4.运行和调试 5.保存窗体
8.2.2 使用代码设置对象属性和事件
1. 关键字Me
Me是“包含这段代码的对象”的简称,可以代表当前对象。 在类模块中,Me代表当前窗体或当前报表。 例如: Me.Caption= “学生信息一览表” 定义当前窗体的Caption属性。
bel1.Caption= “学生信息”
定义当前窗体中标签Lab础
8.3.3 变量 1.变量命名规则
(1) 以字母开始,可以包括数字、字母和下划线;不能多于 255个字符;
(2) 不能使用关键字命名(如End、Print、Sub等); (3) 在同一作用域中,变量名不能重复。
8.3 VBA编程基础
8.3.3 变量 2.变量的类型和定义
8.3 VBA编程基础
8.3.2 常量
常量指在程序运行过程中其值保持不变的量。 常量有两种:直接常量和符号常量。 1.直接常量 取值本身直接反映了其类型;例如:"abcd",345 2.符号常量 定义符号常量,用来代替数值或字符串,提高代码的可读性, 便于维护。一般格式为: Const 常量名=表达式 [, 常量名=表达式]... 例如: Const pai=3.1415926 Const pai=3.1415926 r=10 r=10 Area=3.14*r*r Area=pai*r*r c=2*3.14*r c=2*pai*r
8.模块及 VBA程序设计

模块及VBA程序设计二级 ACCESS 笔试的重点难点在VBA 程序设计部分,分值占到了35 分左右,主要考察模块基本概念、面向对象程序设计基本概念、运算符和表达式、VBA 程序流程控制语言、常用函数和操作,其中考查密度最大的就是运算符和表达式、流程控制、常用函数。
一、模块的基本概念(1)模块的基本概念模块是 Access数据库7 个对象之一,由面向对象的VBA程序构成。
模块具有很强的通用性,窗体、报表等对象都可以调用模块内部的过程。
模块基本上是由子过程(Sub)、函数过程(Function)作为命名的单元存储在一起的集合,对VBA代码进行组织。
Access 有两种类型的模块:标准模块和类模块。
(2)标准模块1、标准模块包含的是通用过程和常用过程,这些通用过程不与任何对象相关联,常用过程可以在数据库中的任何位置运行。
2、标准模块中的公共变量和公共过程具有全局特性,作用域(作用范围)在整个应用程序,生命期伴着应用程序运行而开始、关闭而结束。
说明:作用范围(作用域):变量或过程在整个程序代码中并不总是有效/可用的,而限定该变量或过程的可用性的代码范围就是该变量或过程的作用域。
作用域决定了生命期。
(3)类模块1、类模块包括窗体模块和报表模块,它们各自与某一特定窗体或报表相关联。
2、作用范围限于所属窗体或报表内部,生命周期也随窗体或报表的打开而开始、关闭而结束。
3、类模块可以调用标准模块中定义好的过程。
(4)模块的基本组成单元简介过程是模块的组成单元,由VBA代码编写而成。
过程分两种类型:Sub子过程和Function函数过程。
1、Sub子过程,基本定义方式如下Sub subname(参数1,参数2,…)变量声明部分操作语句部分End Sub可执行一系列操作,无返回值。
可在该子过程之外用CALL调用:Call subname(参数)。
2、Function函数,基本定义方式如下Function FunctionName(参数)变量声明部分操作语句部分End Function可执行一系列操作,有返回值。
第8章G VBA编程与模块

8.1.6 事件过程的编写
(1) 在窗体或报表的设计视图中,选择某个对象,→【属 性表】→【事件】→【事件过程】选项,如图8-23所示。 (2) 单击 ,打开VBE窗口,如图8-24所示。在代码窗口 中,系统自动建立事件过程的入口语句和结束语句,并将光 标定位在代码段中,输入响应该事件的VBA代码。
整型 数 长整型 单精度型 数值型 浮点数 双精度型 数据在计算机中是以特定的形式存 货币类型 字符型 字节类型 在的,如整数、实数、字符等。各种 基本数据类型 布尔型 不同形式的数据有不同的存储方式和 日期型 数据结构。因此在程序编写过程中, 变体型 数据 类型 必须先定义数据类型,才能保证程序 对象型
查看 代码 查看 对象
切换文件夹
列出组 成工程 的文件
(4) 属性窗口
在设计模式下,属性窗口列出了当前选定 窗体或控件的属性的值,用户可以对这些属性 值进行设置。
打开属性窗口的 方法:单击工具栏 上的“属性窗口” 按钮 ;选择“视 图”菜单下的“属 性窗口”项。
对象列 表框 属性显示 排列方式 属性列 表框
VBE窗口
VBE窗口主要由菜单栏、标准工具栏、模块代码窗 口、工程资源管理器窗口和模块属性窗口组成。 (1) (2) (3) (4) (5) 菜单栏 标准工具栏 模块代码窗口 工程资源管理器窗口 模块属性窗口
(1)标准工具栏
课本174页图8-4
(2) 代码窗口
用来进行代码设计:各种事件过程、过 程代码的编写和修改。 打开代码窗口的方法:
8.1.2 VBA编程环境
Access 提供的VBA开发界面称为VBE(Visual Basic Environment),它以微软中VB编程环境的布局为基 础,为VBA提供了程序编辑、调试及运行的环境。
第8章 VBA程序设计与模块

十一、运算符 在VBA中,提供了很多运算符来完成各种运算,主 要有算术运算符、关系运算符、逻辑运算符和链接运算 符四种。 1、算术运算符:主要有乘幂(^)、乘法(*)、除法 (/)、整数除法(\)、求模(余)运算(Mod)、加法(+)、减 法(-)这7个运算符。运算符与两个运算对象之间一般都 用一个空格隔开。 说明:对于\运算,操作数有小数一般四舍五入为 整数后再做运算,但结果有小数则直接省略掉小数。 Mod运算的操作数如果有小数则四舍五入为整数后再做 运算,且余数的符号与被除数的符号一致。
五、数组 当有多个类型相同的数据要保存时可以使用数组进行保 存,数组是在有规则的结构中包含一种数据类型的一组数据。 定义格式:Dim 数组名 (下标上限) 或 Dim 数组名 (下标下限 to 下标上限) 数组元素引用格式:数组名(下标值) 说明:每个数组元素相当于一个变量一样,它的下标必 须在规定的范围只内,在定义时如果不指定下标下限则下标 从0开始到上限止。如:Dim NewArray(10) As Integer 表示定义的数组名为NewArray,有11个元素,分别为 NewArray(0)至NewArray(程中,经常需要将某种数据类型转换为另一 种数据类型。例如窗体文本框中显示的数值数据为字符串 类型,要想作为数值处理就需要进行数据类型转换。 使用格式:函数名(被转换的表达式)
例:做如下布局的窗体,并设置三个文本框的名称分别为 s1、s2、result。然后给“计算”按钮的单击事件添加相 应的代码。
提示:如果需要强制变量必须定义,则需要在声 明区域写上语句:Option Explicit。 变量的作用域: 1、局部范围:在过程或函数内部定义的或直接使 用的变量,只在本过程有效。 2、模块范围:在过程之外,即模块的最开始变量 定义处以dim关键字定义的变量,在本模块的所有过程 中都可以使用这个变量。 3、全局范围:在模块开始的变量定义处以 public 变量名 as 数据类型 定义的变量,在所有的 模块中均可以使用。
第八章 模块与VBA编程基础

❖ 声明部分:可以在这部分定义变量、常量、自 定义类型和外部过程。在模块中,声明部分和 过程部分是分割开来的,声明部分定义的常量 和变量是全局的,可以被模块中的所函数有过过程程调 用。
❖ 事件过程部分:这是一种自动执行的过程,用 来对用户或者程序代码启动的事件或系统触发 的事件做出响应,包括函数过程和子过程。
1. Sub过程和function函数过程格式:
Sub 过程名
Function 函数名
[程序代码]
[程序代码]
End Sub
End Function
Sub过程的特点: 1)Sub过程又称子过程,执行一系列操作,无返回值.
2)调用方式: 过程名称 或 call 过程名称 Function函数过程的特点:
8.2 创建模块
❖ 模块是装着VBA 代码的容器,过程是模块的单元组成, 由VBA代码编写而成.过程分为两种类型: Sub子过程 和Function函数过程.
❖ 在模块中加入过程 进入类模块编辑区:“代码”工具按钮或者窗体 和报表的事件过程。 进入标准模块编辑区:“模块”—“新建”
模块的组成 声明
❖ 如何进入标准模块代码设计区域?
通过创建新的模块对象而进入其代码 设计环境.
– 标准模块通常安排一些公共变量或过程 供类模块里的过程调用.
– 标准模块中的公共变量和公共过程具有 全局特性,其作用范围在整个应用程序中.
8.1.3 将宏转换为模块
每一个宏操作都有自己对应的VBA代码, 根据需要我们可以把宏转换为模块。
❖ 变量的数据类型可以是前面所介绍的数据类 型中的任何一种,也可以是用户自定义的数 据类型。
三、数据库对象
❖ 如数据库、表、查询、窗体和报表等,也有对应的 VBA对象数据类型,这些对象数据类型由引用的对 象库所定义,常用的VBA对象数据类型和对象库中 所包括的对象参见表8.3所示(教材P208)。
第8章 VBA编程dg

章目录 节目录
8.2.2
属性和方法
可以通过属性对话框来设置某个控件对象的属性,也可 以通过代码来设置。通过代码来设置某个对象的属性值的格 式为: 对象名.属性名=属性值 比如,下面是将名为Cmd_add的命令按钮的标题属性设置 为“求和”的VBA代码: Cmd_add.Caption = "求和" 对象的方法一般通过代码来实现,应用某个对象的方法 的格式为: 对象名.方法 [参数1][,参数2][,…][,参数n]
章目录
节目录
8.1.2
VBA编程环境
2.VBA编程环境介绍
(1)VBE窗口的组成 和其他应用程序窗口一样,VBE窗口除了有标题栏、菜单栏、工具栏这些常用 的对象外,还有自己独有的窗口,包括工程资源管理窗口、属性窗口、代码窗口 、立即窗口、对象窗口、对象浏览器窗口、本地窗口和监视窗口等等,如图8-1所 示。通过视图菜单可以打开上述窗口。其中,最常用的是上述前四个窗口。
8.2.1
类和对象
类是面向对象可视化编程中最基本的概念之一,它是具 有共同抽象的对象的集合。类定义了一个抽象模型。类实例 化后就称为对象。换言之,将对象的共同特征抽取出来就是 类,类是模板,而对象是以类为模板创建出来的具体的实例 ,类与对象就像模具与成品的关系。比如,某个学校的每一 个学生就是一个对象,将这个学校的所有学生抽象化,就形 成学生类,而每个学生就是学生类的实例。 在 Access 中,一个窗体是一个对象,它是 Form 类的实例 ;一个报表是一个对象,它是 Report 类的实例;一个文本框 是一个对象,它是TextBox类的实例,等等。事实上,放在窗 体上的一个具体的控件就是其控件类所对应的实例。
第8章 模块与VBA编程基础

8.1 模块的基本概念
8.2 创建模块
8.3 VBA程序设计基础
8.4 VBA流程控制语句
8.5 过程调用和参数传递 8.6 VBA程序运行错误处理 8.7 VBA程序的调试:设置断点
8.1 模块的基本概念
程序设计是指设计、编制、调试程序的方法和过程。 程序设计不仅仅指程序编码,其内容涉及到有关的 基本概念、工具以及方法等。就目前而言,程序设 计方法主要有两种,就是面向过程的结构化程序设 计方法和面向对象的程序设计方法。 程序设计是软件开发的重要部分,以软件工程的观点 来看,由于软件开发是工程性的工作,所以要有规 范。所以在进行程序设计时,也要进行规范化的程 序设计,要注意程序的可靠性、易读性和易维护性。 模块是以函数或子过程为单元的语句代码集合。在 VBA中分:类模块和标准模块
VBA中的输入输出
1.输入函数InputBox
InputBox(Prompt[, Title] [, Default])
Prompt指定显示在对话框中的信息 Title设置在对话框标题栏中显示的信息,如果省略,则在标题 栏中显示应用程序名 Default设置显示在文本框中的信息,如果用户没有输入数据, 它就是默认值
vbDefaultBu tton3
MsgBox函数的返回值
【例题8.4】在窗体上添加一 个命令按钮,当单击该按钮 后,显示一个对话框,其中 包含“确定”和“取消”两 个命令按钮以及一个询问图 标,默认选择“确定”按钮。 【例题8.5】在窗体上添加一 个命令按钮,当单击该按钮 后接受用户输入的三角形的 三条边长,求其周长并输出。
【例题8.12】在窗体上放有一个命令按钮, 当单击该命令按钮时,计算1+2+…+100 的结果,并输出计算结果。
最新2019-模块与VBA编程基础-PPT课件

模块比宏的功能更强大,运行速度更快,能直接运行 Windows的其他程序。 使用模块可以建立用户自己的函数,完成复杂的计算、 执行宏所不能完成的任务。 使用模块可以开发十分复杂的应用程序,使数据库系 统功能更加完善。
Access中,模块分为类模块和标准模块两种。
8.1.1 标准模块
语法与 VB 语言兼容。不是一个独立的开发工具, 一般被嵌入到像 Word 、 Excel 、 Access 这样 的宿主软件中,与其配套使用
VBA采用了面向对象的程序设计方法。
8.3.1、程序语句书写原则
1、语句书写规则 通常一个语句写在一行,语句较长一行写不下时,可以 用续行符(_)将语句连续写在下一行 可以使用冒号将几个语句分隔写在一行中 例如模块2 当输入一行语句并按下回车键后,代码以红色文本显示 表明该语句存在错误 2、注释语句 两种方式: :Rem 注释语句 ’注释语句 注释默认以绿色文本显示。 还可以利用“编辑”工具栏中的“设置注释块”按钮和 “解除注释块”按钮对大块代码进行注释或解除注 释
二、在模块中执行宏
在模块的过程定义中,使用Docmd对象 的RunMacro方法可以执行设计好的宏 调用格式: Docmd. RunMacro 宏名[,宏的运行 次数][,数值表达式] 注意:宏名用双引号引起来
Байду номын сангаас
8.3 VBA程序设计基础
VBA 是 Microsoft Office 内置的编程语言,其
用户定义类模块
创建方法: 在模块对象下: 单击”插入”|“类模块”
8.2 创建模块
创建模块就是创建过程 过程是模块的单元组成,由VBA代码编写而成。 过程是一段可以实现某个具体功能的代码 过程分为两类:Sub子过程和Function函数过程。
第8章 模块和VBA程序设计

8.1认识模块
8.1.2模块设计环境
8.1认识模块
8.1.2模块设计环境
8.2 VBA编程基本概念和步骤
8.2.1基本概念
在面向对象的程序设计中,基本概念包括对象、类、属性、 事件、方法等。
1.对象 在自然界中,一个对象就是一个实体,如一个人就是一个
对象。面向对象程序设计的主要任务是以“对象”为中心设计 模块。Access中的对象代表应用程序中的元素,如表,窗体、 按钮等。
8.2 VBA编程基本概念和步骤
8.2.2 用代码设置窗体属性和事件 2.用代码设窗体置性
操作步骤: (1)创建窗体,建立文本框,并将其“名称”属性改为 txtXm;创建命令按钮,将其“名称”属性改为cmdStart, “标题”属性改为“开始”。 (2)编写窗体的Load事件和Click事件 (3)转到窗体视图,单击命令按钮“开始”,
3.通用过程
通用过程是与特定事件无关的一组代码,能被多个同类型或不同类 型的事件调用。 类模块和标准模块中都可以定义通用过程
4.使用模块的几种情况
8.1认识模块
8.1.1模块的基本概念 5.建立第一个类模块
类模块与窗体或报表关联,以窗体模块为例建立类模块的方法有3种 方法1:
在窗体设计视图中选定窗体控件, 单击属 性窗口“事件”选项卡,选定某个事件, 单击单元格右边的“生成器”按钮 ,在 “选择生成器”对话框中选择“代码生成 器”,单击“确定”按钮。
Mod
意义 加法运算 减法运算 乘法运算 除法运算 整除运算 幂运算 取模(求 余)运算
举例 2+5 2-7 2.1*1.5 13/5 13\5 2^3
性,便于维护。 一般格式为: Const 常量名=表达式 [, 常量名=表达式]...
模块与VBA编程

Private Sub Area() Rem 定义长、宽两个变量
Dim length As Single '长方形的长 Dim height As Single '长方形的宽 Rem 通过输入框输入长与宽,并将值变成数值型 length = Val(InputBox("请输入长方形的长")) height = Val(InputBox("请输入长方形的宽")) a = length * height '计算面积 MsgBox Str(a), vbDefaultButton1, "面积"
End Sub
8.4.2 条件语句
1. 单行结构条件
❖ 格式:
If <条件> Then<语句1>[else <语句2>]
解释:
如果<条件>成立,则执行<语句1>,否则执行<语句2> 若没有否则,则else <语句2>可省略。
2. 块结构条件 格式: If <条件1> Then <语句块1> [ElseIf <条件2> Then <语句块2>] [ElseIf <条件3> Then <语句块3>]
8.2.2 在模块中执行宏
在模块的过程定义中,使用Docmd对象的RunMacro方法,可以执行设计好的宏。 其调用格式为: Docmd.RunMacro MacroName [,RepeatCount] [,RepeatExpression] 其中,MacroName表示当前数据库中宏的有效名称;RepeatCount可选项,用于 计算宏运行次数的整数值;RepeatExpression可选项,数值表达式,在每一次运行 宏时进行计算,结果为False时,停止运行宏。
第8章模块和VBA程序设计

第8章 模块和VBA程序设计 4
第8章 模块和VBA程序设计 19
8.2 VBA程序设计基础
OnClick 标签 控件 OnDblClick
OnMouseDown
BeforeUpdate
AfterUpdate
文本 框控 件
OnEnter OnGetFoucs OnLostFoucs OnChange
OnKeyPress
OnMouseDown
第8章 模块和VBA程序设计 25
8.2 VBA程序设计基础
8.2.3 VBA的基本数据类型 1.数据类型
整长数符定段数类数整号义类据型V数型"来BIgLg据 及类 标nAo定et类 取n支型识re义型 值持数符, 范多%&据号围V种类B,数A字/长动型字如据的节整编,段表类数/数号还类整/8型据可型.数自3,类以所可型--2使示1以、32用4。21使类774"467类用型8843取~8型"标63类值43说6识72范型47明、8围6说~7字符明符号标"、来点字
第8章 模块和VBA程序设计 12
8.1 模块的概念
③ 在对话框的“保存类型”下拉列表框中,选择“模块” 列 表项,然后单击“确定”按钮,屏幕显示“转换宏” 对话 框。
④ 在对话框中单击“转换”按钮,屏幕显示“转换完毕” 对 话框。
⑤ 单击“确定”按钮完成转换。
返回
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.1.1模块的基本概念
3.通用过程 通用过程是与特定事件无关的一组代码,能被 多个同类型或不同类型的事件调用。 类模块和标准模块中都可以定义通用过程
4.使用模块的几种情况
8.1认识模块
8
8.1.1模块的基本概念
5.建立第一个类模块 类模块与窗体或报表关联,有以下3种方法 方法1: 在窗体设计视图中选定窗 体控件, 单击属性窗口“事 件”选项卡,选定某个事件, 8.1认识模块 单击单元格右边的“生成器” 按钮 ,在“选择生成器”对 话框中选择“代码生成器”, 单击“确定”按钮。
26
8.3 VBA编程基础
8.3.1 VBA的基本数据类型
(7).日期时间型 Date 日期时间型(Date Time)数据是描述日期和时间的数 据,长度固定为8个字符。 日期时间型数据除包括日期数据的年、月、日外,还包括 时、分、秒以及上午、下午等内容。 (8) . 货币型(Currency)类型申明符为 @ 货币数据为表示钱款而设置的。 (9).变体形(Variant) 变体形是指所有未定义的变量默认的数据类型,是 一种可变的数据类型,可以表示任何值
8.2 VBA编程基本概念和步骤
24
8.3 VBA编程基础
8.3.1 VBA的基本数据类型
(1) 整型 integer 类型申明符为“%” 表示范围:- 32768 ~ + 32767 例:8% -21 (2). 长整形 Long 类型申明符为“&” 表示范围:- 2147483648 ~ + 2147483647 例如:32768 -21& (3). 单精度数 Single 类型申明符为“! ( E )” 最多有7位有效数字, 表示范围:- 3.402823E+38 (1038) ~ + 3.402823E+38 例:-3.4! 1.0E+2 (1.0 102)
31
8.3 VBA编程基础
8.3.3 变量
2.变量的类型和定义
(2)在定义变量时指定其类型 可以用下面的格式定义变量: Dim 变量名 As 类型
例如: Dim Cj As Integer ,
Total As Double
32
8.3 VBA编程基础
8.3.4 表达式
表达式是将常量、变量、字段名、控件属性值和函数 用运算符组成的式子,完成各种形式的运算和处理。
17
8.2.1基本概念
4.事件
事件是对象能够识别的动作。 如单击命令按钮,打开窗体,其中的“单击”事件是命令 按钮能识别的动作。 响应事件的方式有以下2种。 (1)用宏对象响应对象的事件。 (2)给事件编写VBA代码,用事件过程响应对象的事件。 8.2 VBA编程基本概念和步骤 如 Private Sub Command1_Click() ….. End sub 其中,Command1是对象名,Click是事件名。
● 模块的概念 ● VBA程序设计基础 ● 常用标准函数 ● VBA的程序结构
● VBA的数据库编程
● 过程调用和参数传递
3
第8章 模块的设计与使用
在Access系统中,把宏、窗体和报表等对象结 合起来,不用编写程序代码就可以建立功能较完善 的数据库管理系统。但宏的功能是有局限性的,它 只能处理一些简单的操作,如果要实现功能强大的 数据管理,以及灵活的控制功能,宏对象就无能为 力了。这时,就需要编写程序模块来实现上述的功 能。本章介绍模块的概念和用来建立模块的VBA语 言的基础知识。
第8章 模块的设计与使用
1 1
第8章 模块的设计与使用
本章要求:
1、了解VBA编程环境; 2、掌握VBA编程基础:常量,变量,表达式; 3、掌握顺序控制,选择控制,循环控制 4、了解VBA模块
本章要点:
掌握顺序控制,选择控制,循环控制
学时安排:
6学时(理论)+6学时(实践)
2
第8章 模块的设计与使用
25
+5%
5
8.3 VBA编程基础
8.3.1 VBA的基本数据类型
(4). 双精度数 Double类型申明符为“# ( D )” 最多有15位有效数字, (5). 字符型数据 string 类型申明符为“ $ ”
字符型数据是用双引号括起来的一串ASCII码字符。专门用 来存放文字信息的。
字符串是放在双引号内的若干个字符,其中长度为0(即不含 任何字符)的字符串称为空字符串。 例:"This a book " "" (6).逻辑型 Boolean 逻辑型数据只有真和假两种值,长度固定为1个字符。
9
8.1.1模块的基本概念
5.建立第一个类模块 方法2:在窗体设计视图中选定控件,单击标准工 具栏“生成器”按钮 ,在“选择生成器”对话 框中选择“代码生成器”。 方法3:在窗体设计视图中选定控件,单击鼠标右 8.1认识模块 键,从快捷菜单中选择“事件生成器”,在“选 择生成器”对话框中选择“代码生成器”。
27
8.3 VBA编程基础
8.3.2常量
常量指在程序运行过程中其值保持不变的量。常量有两种: 直接常量和符号常量。 1.直接常量 取值直接反映了其类型;例如:"abcd",345 2.符号常量 定义符号常量,用来代替数值或字符串,提高代码的可读 性,便于维护。 一般格式为: Const 常量名=表达式 [, 常量名=表达式]... 例如: Const PI=3.1415926 程序运行中凡是遇到3.1415926,均可用PI代替。
8.1认识模块
13
8.1.2模块设计环境
8.1认识模块
14
8.1.2模块设计环境
8A编程基本概念和步骤
8.2.1基本概念
在面向对象的程序设计中,基本概念包括对象、类、属性、 事件、方法等。 在自然界中,一个对象就是一个实体,如一个人就是一个对 象。面向对象程序设计的主要任务是以“对象”为中心设计模 块。Access中的对象代表应用程序中的元素,如表,窗体、按 钮等。
21
8.2.2 用代码设置窗体属性和事件
2.用代码设窗体置性
操作步骤: (1)创建窗体,建立文本框,并将其“名称”属性改为 txtXm;创建命令按钮,将其“名称”属性改为cmdStart, “标题”属性改为“开始”。 (2)编写窗体的Load事件和Click事件 8.2 VBA编程基本概念和步骤 (3)转到窗体视图,单击命令按钮“开始”,
20
8.2.2 用代码设置窗体属性和事件
2.用代码设窗体置性 能用代码设置的窗体属性主要包括窗体标题、窗体数 据源、背景图片等。
例8-3 创建窗体,并在窗体 中建立文本框txtXm和命令按 钮cmdStart,单击命令按钮时, 8.2 VBA编程基本概念和步骤 窗体中插入一图片,并在文 本框中显示“学生信息表” 中的第一条记录的姓名。
30
8.3 VBA编程基础
8.3.3 变量
2.变量的类型和定义
使用变量前,一般必须声明变量名和变量类型,使系 统分配相应的内存间,并确定该空间可存储的数据类型。 (1) 用类型说明符来标识 把类型说明符放在变量名的尾部,可以标识不同的变 量类型。其中%表示整型,&表示长整型,!表示单精度 型,#表示双精度型,@表示货币型,$表示字符串型。 例如: Total% Amount# Lzlame$
8.1认识模块
5
8.1.1模块的基本概念
1.模块的分类 (2).标准模块 标准模块包含与任何其他对象都无关的常规 过程,以及可以从数据库任何位置运行的经常使 用的过程。标准模块和某个特定对象无关的类模 块的主要区别在于其范围和生命周期。 8.1认识模块
6
8.1.1模块的基本概念
2.事件过程 事件过程是专为特定事件编写的一组代码,被 窗体或报表的特定事件调用,实现特定的操作,并 对用户的操作做出响应。 例如,单击命令按钮,改变标签的标题。 事件过程只能在类模块中定义。当窗体或报表的 8.1认识模块 第一个事件过程创建后,系统会自动创建与之关联 的窗体模块或报表模块,通过特定事件激发事件过 程执行。所以,过程与类模块密不可分。
8.1认识模块
12
8.1.1模块的基本概念
6.建立第一个标准模块
例8-2 建立第一个标准模块,运行时显示“欢迎使用Access!”
操作步骤: (1)在数据库中,选择“模块”对象,单击“新建” 按钮。 (2) 输入代码。 (3)单击“保存”按钮,为模块起名:First (4)选择“运行/运行子程序”命令,数据库窗口显示 相应信息。
8.1认识模块
11
8.1.1模块的基本概念
6.建立第一个标准模块
(1)建立标准模块的方法 选择数据库窗口“模块”对象,单击“新建”按钮,新 建标准模块。 (2)打开标准模块方法 方法1:在数据库窗口单击一个标准模块,单击“设计” 按钮,打开该模块。 方法2:在数据库窗口双击一个标准模块,打开该模块。 方法3:在数据库窗口单击一个标准模块,选择“工具/ 宏/Visual Basic 编辑器”命令,打开该模块。
18
8.2.1基本概念
5.方法
方法描述了对象的行为,即在某个对象上执行的一个过程, 例如, 打开和关闭报表对象。 事件 引用方式为:对象.方法 方法 例如: Text1.SetFocus
8.2 VBA编程基本概念和步骤
属性
19
8.2.2 用代码设置窗体属性和事件
1.关鍵字Me
Me是“包含这段代码的对象”的简称,可以代表当前 对象。在类模块中,Me代表当前窗体或当前报表。 例如: (1) bel1.Caption= "学生信息表“ 定义窗体中标签Label1的Caption属性。 8.2 VBA 编程基本概念和步骤 (2) Me.Caption= "学生信息一览表“ 定义窗体本身的Caption属性。