ACCESS课件(第9章模块与VBA程序设计)(数据库编程)
合集下载
ACCESS第9章 VBA程序设计(1新)
第十一章
VBA程序设计
本章要点
了解什么是标准模块,掌握 VBA程序设计相关内容,掌握程 序基本结构,能够利用VBA程序 设计主窗体、查询窗体、登录窗 体等。
引言: 计算机语言
机器语言------面向机器 使用机器语言来编写程序 011011 000000 000000 000001 110101 清除累加器,然后把内存地址为117的单元内容 与累加器的内容相加。
面向对象程序设计
对象的方法----动态操作
方法指对象能执行的动作,通过这个动作能实现 相应的功能或改变对象的属性 注意:对象的方法不会显示在属性表中,只可显 示在程序中。
面向对象程序设计的基本概念
对象的事件 事件是对象可以辨认的动作.可针对此类 动作编写相应的程序代码,以相应用户的 动作或系统行为. 每个对象都有一系列预先定义的事件集。 例如,命令按钮能响应单击、获取焦点、 失去焦点等事件,可以通过属性表的 “事件”选项卡查看。
VBA编程步骤
例 窗体上有一命令按钮控件,名称为 Command0,将命令按钮的标题设置为“确 定”。
在窗体设计视图中,将命令按钮的属性 “格式” 选项卡中的“标题”属性设置为“确定”。 在程序中设置代码:Command0.Caption=”确定” 在程序中设置代码:Me.Caption=”确定” 例:FORMS!用户登录!Command2.caption=“密码”
汇编语言------面向机器 采用一定的助记符表示机器语言中的指令和数据 CLA 00 017
引言: 计算机语言
高级语言------面向过程
如:
CLA C ADD D STD M CLA A ADD B DIV M STD X
X=(A+B)/(C+D)
VBA程序设计
本章要点
了解什么是标准模块,掌握 VBA程序设计相关内容,掌握程 序基本结构,能够利用VBA程序 设计主窗体、查询窗体、登录窗 体等。
引言: 计算机语言
机器语言------面向机器 使用机器语言来编写程序 011011 000000 000000 000001 110101 清除累加器,然后把内存地址为117的单元内容 与累加器的内容相加。
面向对象程序设计
对象的方法----动态操作
方法指对象能执行的动作,通过这个动作能实现 相应的功能或改变对象的属性 注意:对象的方法不会显示在属性表中,只可显 示在程序中。
面向对象程序设计的基本概念
对象的事件 事件是对象可以辨认的动作.可针对此类 动作编写相应的程序代码,以相应用户的 动作或系统行为. 每个对象都有一系列预先定义的事件集。 例如,命令按钮能响应单击、获取焦点、 失去焦点等事件,可以通过属性表的 “事件”选项卡查看。
VBA编程步骤
例 窗体上有一命令按钮控件,名称为 Command0,将命令按钮的标题设置为“确 定”。
在窗体设计视图中,将命令按钮的属性 “格式” 选项卡中的“标题”属性设置为“确定”。 在程序中设置代码:Command0.Caption=”确定” 在程序中设置代码:Me.Caption=”确定” 例:FORMS!用户登录!Command2.caption=“密码”
汇编语言------面向机器 采用一定的助记符表示机器语言中的指令和数据 CLA 00 017
引言: 计算机语言
高级语言------面向过程
如:
CLA C ADD D STD M CLA A ADD B DIV M STD X
X=(A+B)/(C+D)
ACCESS实例教程(数据库的编程)--ppt课件全
Set db=ws.OpenDatabase(数据库的地址与文件名) ' 打开数据库
Set rs=db.OpenRecordSet(表名、查询名或SQL语句) ' 打开记录集
ppt课件 ACCESS实例教程 9
Do While not rs.EOF ' 循环遍历整个记录集直至记录集末尾
……
' 对字段的各种操作
Access实例教程
ppt课件
1
ACCESS实例教程
——数据库编程(第9章)
ppt课件
2
本章要点: 1,用ADO访问数据库 2,用DAO访问数据库 3,程序运行错误处理
ppt课件 ACCESS实例教程 3
9.1 VBA数据库访问接口
VBA数据库访问接口是指VBA与后台数据库的连接部分, 也就是VBA与Access数据库连接的方法。
ppt课件 ACCESS实例教程 22
(5)转到窗体视图,如果输入的编号与表中的编号有重复,单 击命令按钮后显示消息框,输入的信息不能追加到表中。
mandType=查询类型
'指定命令对象的查询类型
mandText=查询字符串
'建立命令对象的查询字符串
rs. Open cm, 其他参数
'打开记录集
do while not rs.EOF
'循环开始
……
'对字段的各种操作
rs.movenext
'记录指针移到下一条
loop
'返回到循环开始处
作区和打开数据库两条语句用下面一条语句代替:
Set db = CurrentDb()
该语句是Access的VBA给DAO提供的数据库打开快捷方式。
ACCESS数据库应用技术第09章模块与VBA
两个下标,中间用逗号相隔
数组变量要求先定义,后使用。使用数组时,应先使用数 组说明语句DIM定义数组的个数,才能使用。 下标从0开始。
31
• 运算符与表达式
表达式由常量、变量、函数与各类运算符组合而成。
运算 运算符 说明
算术运算 +,-,*,/,\,MOD,∧,() 加,减,乘,除,整除,取余数,指数 关系运算 =,<>,<,>,< =,>= 逻辑运算 AND,OR,NOT 等于,不等于,小于,大于,小于等于, 大于等于 与,或,非
17
• 编程中用到的常量与变量
隐形变量:由给定某个变量名值的类型而定 如: ABC=1 ABC=“AAA” ABC%=123 显形变量:先定义后使用的变量 如: Dim ABC as integer Dim I% ABC=123 I=1
18
语句的语法规则
分类 注释语句 声明语句 REM [注释内容] „ [注释内容] SUB 子过程名() END SUB CONST 常量名 AS = DIM 变量名 AS PRIVATE PUBLIC STATIC 赋值语句 功能:向一个变量传送一个数值 格式:[LET] 变量名=数值 名称 注释 定义1个子过程 定义一个常量名及类型 定义一个变量名及类型 声明私有的模块级变量 声明公有的模块级变量 声明过程级局部变量 为变量赋值
22
• 语句的语法规则
转移语句 条件语句 GOTO 标号 IF…Tห้องสมุดไป่ตู้EN …ELSE…END IF 转向某标号指向的语句 如果…则…否则…
SELECT CASE …CASE ELSE …END 根据条件执行某些语句 SELECT IIF(条件,值1,值2) SWITH (条件1, 条件2…,) 条件为真取值1,否则取值2 返回条件1为真的值
access数据库课件9
常用的宏操作
操纵数据库对象的宏操作。 处理数据的宏操作。 执行命令的宏操作。
实现导入/导出的宏操作。
其他类型的宏操作。
9.6 模块简介
在access中使用宏可以将各种数据库对象联 系在一起,构成一个可供实际使用的数据库应用 程序。但是,宏有一定的局限性,当利用宏不能 解决复杂的要求时,就需要使用模块来完成。
9.1 宏的概念
宏组 在Access中可以将若干功能相关的宏组合在 一起构成一个“宏组”,使用宏组可以简化对宏 的管理。宏组也需要命名,宏组中的每个宏都有
单独的名称并可独立地运行。
要想调用宏组中的宏,必须遵从以下的命令
格式:
宏组名. 宏名
9.1 宏的概念
带条件的宏 在Access中可以对宏使用条件表达式,只有 当条件表达式的值为真时,才执行宏中的一个或 多个操作。 例如:在某个窗体中使用宏来校验数据,对 于输入的不同数据显示不同的提示信息,进而通 过条件表达式的值来控制操作的流程。
9.6 模块简介
事件: 指对象能识别并能响应的一些预先定义的动作,大多数事件是用
户操作触发的,例如单机鼠标事件、双击鼠标事件等。每个对象都有
与之相关的事件,不同对象能够识别不同的事件。 事件过程:
是对事件的一种响应和处理,是与事件相关联的代码。事件是固
定的,用户不能定义新的事件,但事件过程却是可以根据需要编程的。 处理事件的代码称为事件过程。
不同之处是宏组的设计窗口比宏的设计窗口多了一列 “宏名”,而带条件的宏的设计窗口多了一列“条件”。
9.2 宏的创建
1.创建操作序列宏
2.创建宏组
9.2 宏的创建
3.创建带条件的宏 操作序列宏的特点是依次执行宏中的每一个操作,但是实际应用 中更多的是要求宏能按照给定的条件判断是否执行宏中的某些操作, 这一要求是通过在宏中使用条件表达式来实现的。
操纵数据库对象的宏操作。 处理数据的宏操作。 执行命令的宏操作。
实现导入/导出的宏操作。
其他类型的宏操作。
9.6 模块简介
在access中使用宏可以将各种数据库对象联 系在一起,构成一个可供实际使用的数据库应用 程序。但是,宏有一定的局限性,当利用宏不能 解决复杂的要求时,就需要使用模块来完成。
9.1 宏的概念
宏组 在Access中可以将若干功能相关的宏组合在 一起构成一个“宏组”,使用宏组可以简化对宏 的管理。宏组也需要命名,宏组中的每个宏都有
单独的名称并可独立地运行。
要想调用宏组中的宏,必须遵从以下的命令
格式:
宏组名. 宏名
9.1 宏的概念
带条件的宏 在Access中可以对宏使用条件表达式,只有 当条件表达式的值为真时,才执行宏中的一个或 多个操作。 例如:在某个窗体中使用宏来校验数据,对 于输入的不同数据显示不同的提示信息,进而通 过条件表达式的值来控制操作的流程。
9.6 模块简介
事件: 指对象能识别并能响应的一些预先定义的动作,大多数事件是用
户操作触发的,例如单机鼠标事件、双击鼠标事件等。每个对象都有
与之相关的事件,不同对象能够识别不同的事件。 事件过程:
是对事件的一种响应和处理,是与事件相关联的代码。事件是固
定的,用户不能定义新的事件,但事件过程却是可以根据需要编程的。 处理事件的代码称为事件过程。
不同之处是宏组的设计窗口比宏的设计窗口多了一列 “宏名”,而带条件的宏的设计窗口多了一列“条件”。
9.2 宏的创建
1.创建操作序列宏
2.创建宏组
9.2 宏的创建
3.创建带条件的宏 操作序列宏的特点是依次执行宏中的每一个操作,但是实际应用 中更多的是要求宏能按照给定的条件判断是否执行宏中的某些操作, 这一要求是通过在宏中使用条件表达式来实现的。
Access数据库应用技术第九章 模块与VBA编程
Access数据库应用技术
第九章 模块与VBA编程
第九章
主 要 内 容
模块与VBA编程
9.1 模块的基本概念 9.2 VBA编程基础 9.3 面向对象程序设计的概念 9.4 VBA程序流程控制结构与语句 9.5 过程定义与参数传递 9.6 VBA程序运行调试
9.7 VBA数据库编程
9.1 模块的基本概念
3.函数
用户只要给出函数名并给出相应数目的参数, 不需要编写程序就能计算出这些函数的值。 常用的几类函数有:数据类型转换函数、数学 函数、字符串型和数值型转换函数、日期时间 函数、字符串处理函数、格式输出函数、 InputBox函数和MsgBox函数等。
3.函数
用户只要给出函数名并给出相应数目的参数, 不需要编写程序就能计算出这些函数的值。 常用的几类函数有:数据类型转换函数、数学 函数、字符串型和数值型转换函数、日期时间 函数、字符串处理函数、格式输出函数、 InputBox函数和MsgBox函数等。
1.变量和常量
① 局部变量又叫过程级变量,在过程中用Dim或Static关 键字定义,作用域为定义它的过程。也就是说,它在哪 个过程中定义的就只能在那个过程中使用。
② 模块级变量,在模块顶部的“通用声明”段中用Dim或 Private关键字定义,在该模块中的所有过程中可用。
③ 全局变量也称公共变量,在模块顶部的“通用声明段” 中使用Public关键字定义,在程序的所有模块中的所有 过程皆可用。
在数据库管理界面选择“模块”对象,单击 “新建”按钮,
或打开已存在的模块对象都可进入VBE环境 还可通过执行“工具”菜单的“宏”命令,在 级联菜单中选择“Visual Basic编辑器”
第九章 模块与VBA编程
第九章
主 要 内 容
模块与VBA编程
9.1 模块的基本概念 9.2 VBA编程基础 9.3 面向对象程序设计的概念 9.4 VBA程序流程控制结构与语句 9.5 过程定义与参数传递 9.6 VBA程序运行调试
9.7 VBA数据库编程
9.1 模块的基本概念
3.函数
用户只要给出函数名并给出相应数目的参数, 不需要编写程序就能计算出这些函数的值。 常用的几类函数有:数据类型转换函数、数学 函数、字符串型和数值型转换函数、日期时间 函数、字符串处理函数、格式输出函数、 InputBox函数和MsgBox函数等。
3.函数
用户只要给出函数名并给出相应数目的参数, 不需要编写程序就能计算出这些函数的值。 常用的几类函数有:数据类型转换函数、数学 函数、字符串型和数值型转换函数、日期时间 函数、字符串处理函数、格式输出函数、 InputBox函数和MsgBox函数等。
1.变量和常量
① 局部变量又叫过程级变量,在过程中用Dim或Static关 键字定义,作用域为定义它的过程。也就是说,它在哪 个过程中定义的就只能在那个过程中使用。
② 模块级变量,在模块顶部的“通用声明”段中用Dim或 Private关键字定义,在该模块中的所有过程中可用。
③ 全局变量也称公共变量,在模块顶部的“通用声明段” 中使用Public关键字定义,在程序的所有模块中的所有 过程皆可用。
在数据库管理界面选择“模块”对象,单击 “新建”按钮,
或打开已存在的模块对象都可进入VBE环境 还可通过执行“工具”菜单的“宏”命令,在 级联菜单中选择“Visual Basic编辑器”
Access 2010数据库第九章 模块和VBA
对象有如下一些基本特点: 继承性:指一个对象可以继承其父类的属性及操作。 多态性:指不同对象对同样的作用于其上的操作会有不同的反 应。 封装性:指对象将数据和操作封装在其中。用户只能看到对象 的外部特性,只需知道数据的取值范围和可以对该数据施加的 操作,而不必知道数据的具体结构以及实现操作的算法。
1.运算符 VBA提供了算术运算符、字符串运算符、关系运算符和布尔运 算符。
2.表达式 用运算符把运算分量连接而成的符合VBA语法要求的式子就是表 达式,运算分量可以是常量、变量、对象属性和函数,根据表达式 值的数据类型可以分成如下几种: 算术表达式:(3+5) Mod 3 *(80/2)
5.Do-Loop循环语句 前测型循环: Do While 条件表达式 循环语句组 [Exit Do] Loop 后测型循环: Do 循环语句组 [Exit Do] Loop While 条件表达式
9.2.5 数组
1.定义数组 {Dim|Public}数组名(正整数常量) As 数据类型 2.数组应用 【例9-1】 随机产生10个100以内的随机整数,求其中比平均值 大的整数。为此设计如图9-9所示的窗体,放置三个锁定的只读 文本框Text1、Text2和Text3,并放置一个命令按钮cmd。适 当设置窗体及其控件的属性。
2.对象的属性 每个对象都有属性,对象的属性定义了对象的特征,诸如大 小、颜色、字体或某一方面的行为。使用VBA代码可以设置或者 读取对象的属性数值。修改对象的属性值可以改变对象的特性。 设置对象属性值的语法格式如下:
对象名.属性 = 属性值
有些属性并不能设置,这些属性或者只能读取此属性(只读属 性),或者只能写入此属性(只写属性)。还可以通过属性的返 回值,来检索对象的信息。
Access教材PPT文件第9章 Access 2003模块
第9章 Access 2003模块对象 2003模块对象
3华中师范大学出版社《Access 2003数据库实用教程》 华中师范大学出版社《 2003数据库实用教程 数据库实用教程》
9.1 模块的定义
2. 函数过程
过程和函数都是执行特定功能的语句块。函数也是一种过程,不过它是一 种特殊的、能够返回值的Function过程,返回的值可以在表达式中使用。 在VBA中,Access提供了大量的内置函数,在编程时可以直接引用,从 而避免了创建复杂的表达式。有时也可以按自己的要求定制函数。 函数过程以关键字Function开始,以End Function语句结束。声明函数的 语法形式如下:
[Public | Private][Static] Function 函数名([<参数>])[As数据类型] 函数名([<参数>])[As数据类型] [<一组语句>] [<一组语句>] [函数名=<表达式>] 函数名=<表达式>] [Exit Function] [<一组语句>] [<一组语句>] [函数名=<表达式>] 函数名=<表达式>] End Function
第9章 Access 2003模块
第9章 Access 2003模块对象 2003模块对象
1华中师范大学出版社《Access 2003数据库实用教程》 华中师范大学出版社《 2003数据库实用教程பைடு நூலகம்数据库实用教程》
9.1 模块的定义
9.1.1 VBA编程的基本概念
1. 对象
一个对象就是一个实体,如一个人、一辆汽车等。每种对象都有各种各 样的属性。例如,可用汽车的颜色、车门的形状等属性来把一辆车和其他 车区分开来。即属性可以定义一般对象的一个实例。例如,一辆红色的汽 车和一辆黑色的汽车就分别定义了汽车对象的两个不同实例。 对象除了有属性外,还有自己的方法。对象的方法就是对象所能执行的 行为,如汽车能开行,电话能通话等。许多对象有多种方法,如汽车还可 以用来平整路面等。
AccessVBA程序设计基础PPT课件
默认为变体类型(Variant)。
第19页/共51页
⑤用户自定义类型的声明与使用
用 户 自 定 义 类 型 可 以 是 任 何 用 Ty p e 语 句 定 义 的 数据类型。用户自定义类型可包含一个或多 个基本数据类型的数据元素、数组或一个先 前定义的用户自定义类型。例如:
Type MyType
intX%=1243
douY#=45665.456
strZ$="Access" 第14页/共51页
② 使用Dim语句声明变量
Dim语句使用格式为: Dim 变量名As 数据类型 例如: Dim strX As String 声明了一个字符串类型变量strX。 可 以 使 用 Dim 语 句 在 一 行 声 明 多 个 变 量 ,
MyName As String*l0 '定义字符串变量存 储一个名字。
MyBirthDate As Date '定义日期变量存储 一个生日。
MySex As Integer '定义整型变量存储性 别
End Type
'(0 为女,1 为男)
第20页/共51页
上 例 定 义 了 一 个 名 称 为 “ M y Ty p e ” 的 数 据 类 型 。 MyType 类 型 的 数 据 具 有 三 个 域 MyName、 MyBirthDate和MySex。
第6页/共51页
下 面 的 例 子 给 出 了 使 用 Const 语 句 来 声 明 数 值 和字符串常量的几种方法。
Const conPI=3.14159265 可以使用conPI来代替常用的π值。 Private Const conPI2=PI*2 conPI2被声明为一个私有常量,同时在计算它
第19页/共51页
⑤用户自定义类型的声明与使用
用 户 自 定 义 类 型 可 以 是 任 何 用 Ty p e 语 句 定 义 的 数据类型。用户自定义类型可包含一个或多 个基本数据类型的数据元素、数组或一个先 前定义的用户自定义类型。例如:
Type MyType
intX%=1243
douY#=45665.456
strZ$="Access" 第14页/共51页
② 使用Dim语句声明变量
Dim语句使用格式为: Dim 变量名As 数据类型 例如: Dim strX As String 声明了一个字符串类型变量strX。 可 以 使 用 Dim 语 句 在 一 行 声 明 多 个 变 量 ,
MyName As String*l0 '定义字符串变量存 储一个名字。
MyBirthDate As Date '定义日期变量存储 一个生日。
MySex As Integer '定义整型变量存储性 别
End Type
'(0 为女,1 为男)
第20页/共51页
上 例 定 义 了 一 个 名 称 为 “ M y Ty p e ” 的 数 据 类 型 。 MyType 类 型 的 数 据 具 有 三 个 域 MyName、 MyBirthDate和MySex。
第6页/共51页
下 面 的 例 子 给 出 了 使 用 Const 语 句 来 声 明 数 值 和字符串常量的几种方法。
Const conPI=3.14159265 可以使用conPI来代替常用的π值。 Private Const conPI2=PI*2 conPI2被声明为一个私有常量,同时在计算它
Access数据库技术与应用基础_09模块与VBA编程基础
数据库技术与应用基础 ——Access
第9章 模块与VBA编程基础
07.04.2020
第9章 模块与VBA编程基础
主要任务
❖ 熟悉VBA的编程环境 ❖ 掌握VBA的基本语法和程序结构 ❖ 熟悉Access对象模型 ❖ 掌握VBA基于面向对象的编程
07.04.2020
第9章 模块与VBA编程基础
主要内容
07.04.2020
❖例9.1 创建一个名为Welcome的模块,其功能是 用来显示欢迎消息框。 操作步骤: (1)选择数据库窗口中的“模块”对象,单击 “新建”按钮,打开VBA编辑界面。 (2)执行“插入”|“过程”菜单命令。在弹出 的“添加过程”对话框中填写过程的名称、选择 过程类型和范围,单击“确定”按钮后,出现 Welcome过程的编写窗口。
❖ 与类模块不同,标准模块不与任何对象相关联。标准模块中的程 序是通用的,可以在数据库的位置被调用执行。
07.04.2020
9.1.1 类模块
❖ 类模块分为:独立类模块、窗体模块和报表模块。 ❖ 独立类模块不依附于窗体和报表而独立存在,用
该类模块能创建自定义对象,可以为这些对象定 义属性、方法和事件。 ❖ 窗体模块和报表模块都属于类模块,它们从属于 各自的窗体或报表。
07.04.2020
9.1.Байду номын сангаас 标准模块
❖ 标准模块是指存放整个数据库可用的函数和过程 的模块。标准模块属于数据库对象,用户可以像 创建其他数据库对象一样创建包含VBA代码的标 准模块。模块内包含了Sub过程和Function函数过 程。
07.04.2020
9.2 创建模块
❖过程是模块的单元组成,由VBA 代码编写而成。 过程分两种类型:Sub 子过程和Function 函数过 程。
第9章 模块与VBA编程基础
07.04.2020
第9章 模块与VBA编程基础
主要任务
❖ 熟悉VBA的编程环境 ❖ 掌握VBA的基本语法和程序结构 ❖ 熟悉Access对象模型 ❖ 掌握VBA基于面向对象的编程
07.04.2020
第9章 模块与VBA编程基础
主要内容
07.04.2020
❖例9.1 创建一个名为Welcome的模块,其功能是 用来显示欢迎消息框。 操作步骤: (1)选择数据库窗口中的“模块”对象,单击 “新建”按钮,打开VBA编辑界面。 (2)执行“插入”|“过程”菜单命令。在弹出 的“添加过程”对话框中填写过程的名称、选择 过程类型和范围,单击“确定”按钮后,出现 Welcome过程的编写窗口。
❖ 与类模块不同,标准模块不与任何对象相关联。标准模块中的程 序是通用的,可以在数据库的位置被调用执行。
07.04.2020
9.1.1 类模块
❖ 类模块分为:独立类模块、窗体模块和报表模块。 ❖ 独立类模块不依附于窗体和报表而独立存在,用
该类模块能创建自定义对象,可以为这些对象定 义属性、方法和事件。 ❖ 窗体模块和报表模块都属于类模块,它们从属于 各自的窗体或报表。
07.04.2020
9.1.Байду номын сангаас 标准模块
❖ 标准模块是指存放整个数据库可用的函数和过程 的模块。标准模块属于数据库对象,用户可以像 创建其他数据库对象一样创建包含VBA代码的标 准模块。模块内包含了Sub过程和Function函数过 程。
07.04.2020
9.2 创建模块
❖过程是模块的单元组成,由VBA 代码编写而成。 过程分两种类型:Sub 子过程和Function 函数过 程。
ACCESS课件第9章宏PPT教学课件
2
二、宏的设计视图P165
设计区
宏名:可以为每个宏指定 名称; 条件:设置宏运行的条件, 如果条件的值为True 或 “是”,就会运行该宏; 操作:从Access定义的命 令中选择; 注释:输入说明性的内容, 不影响宏的执行;
操作参数区
P162602提0/12/示10 :“操作”列必须选择命令,其它三列的内容均可以省
3
P166 1.宏名列
在“宏名”列中,可以给每个宏指定一个名称。这是由于一 个宏对象可以是一个宏组,其间包含若干个宏。为了在宏组中区 分各个不同的宏,需要为每一个宏指定一个宏名。 2.条件列
在“条件”列中,可以指定每一条操作的执行条件。一般可 以利用“表达式生成器”设定操作的执行条件。 3.操作列
2、在“数据库”窗口,选择“宏”对象列表中的宏并双 击,可以直接运行宏。
3、单击【工具】菜单,选择【宏】中的【运行宏】,在 “执行宏”对话框中输入要运行的宏—宏组名.宏名。
提示:
1. 对于简单宏,条件宏,适合用方法1、2。
2. 对于复杂的宏组,方法1、2只能运行宏组中的第一个宏。
3. 使用方法3,对于复杂宏,通过宏组名后面输入一个句点,
然后再输入宏名:宏组名.宏名
例如:运行宏组“统计数据”中的宏“全校人数统计”,
2020/12/10
则输入:统计数据.全校人数统计
10
9、在打开数据库时自动运行宏P171
Access中设置了一个特殊的宏组名: Autoexec(大小写均可)。如果将一个宏组 的名称命名为Autoexec,那么在打开数据库 时将首先自动执行该宏组。
2020/12/10
11
PPT教学课件
谢谢观看
Thank You For Watching
二、宏的设计视图P165
设计区
宏名:可以为每个宏指定 名称; 条件:设置宏运行的条件, 如果条件的值为True 或 “是”,就会运行该宏; 操作:从Access定义的命 令中选择; 注释:输入说明性的内容, 不影响宏的执行;
操作参数区
P162602提0/12/示10 :“操作”列必须选择命令,其它三列的内容均可以省
3
P166 1.宏名列
在“宏名”列中,可以给每个宏指定一个名称。这是由于一 个宏对象可以是一个宏组,其间包含若干个宏。为了在宏组中区 分各个不同的宏,需要为每一个宏指定一个宏名。 2.条件列
在“条件”列中,可以指定每一条操作的执行条件。一般可 以利用“表达式生成器”设定操作的执行条件。 3.操作列
2、在“数据库”窗口,选择“宏”对象列表中的宏并双 击,可以直接运行宏。
3、单击【工具】菜单,选择【宏】中的【运行宏】,在 “执行宏”对话框中输入要运行的宏—宏组名.宏名。
提示:
1. 对于简单宏,条件宏,适合用方法1、2。
2. 对于复杂的宏组,方法1、2只能运行宏组中的第一个宏。
3. 使用方法3,对于复杂宏,通过宏组名后面输入一个句点,
然后再输入宏名:宏组名.宏名
例如:运行宏组“统计数据”中的宏“全校人数统计”,
2020/12/10
则输入:统计数据.全校人数统计
10
9、在打开数据库时自动运行宏P171
Access中设置了一个特殊的宏组名: Autoexec(大小写均可)。如果将一个宏组 的名称命名为Autoexec,那么在打开数据库 时将首先自动执行该宏组。
2020/12/10
11
PPT教学课件
谢谢观看
Thank You For Watching
Access基础与应用教程PPT课件 第9章 VBA的数据库编程
完整版ppt
退出 2
9.1 数据库访问接口
为了在VBA程序代码中能方便地实现对数据库的数
据访问功能,VBA语言提供有相应的通用的接口方式。
VBA是通过 Microsoft Jet 数据库引擎工具来支持
对数据库的访问。所谓数据库引擎实际上是一组动态链
接库(DLL),当程序运行时被连接到 VBA 程序而实
14
2.TableDef 对象的CreateField方法
使用 TableDef 对象的 CreateField 方法可创建表 中的字段。
使用 CreateField方 法的语句格式: Set fed = tbe.CreateField(name, type, size)
其中: fed 是字段对象变量。tbe 是表对象变量。name 是字段名。type 是字段的数据类型,要用英文字符表 示,如 dbText 表示文本型,dbInteger 表示整型。 size 表示字段大小。
VBA的数据库编程
第
9
在开发Access数据库应
章
用系统时,为了能开发出
更实用、更有效的Access数
据库应用程序,以便能快
速、有效地管理好数据,
还应当学习和掌握VBA的
数据库编程方法。
完整版ppt
1
第9章 VBA的数据库编程
本章主要内容
9.1 数据库访问接口 9.2 数据访问对象(DAO) 9.3 ActiveX数据对象(ADO)
完整版ppt
5
9.2.1 DAO模型结构
完整版ppt
6
DAO 模型的分层结构图如图10-2所示。它包含了一个
复杂的可编程数据关联对象的层次,其中 DBEngine对象
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P301
➢ 使用命令对记录集中的记录或字段进行操作:
Do While Not rs.EOF …… rs.MoveNext
Loop
➢ 关闭记录集和数据库,并回收所占内存:
rs.Close db.Close Set rs = Nothing Set db = Nothing
举例 P301
【例1】创建一个窗体:要求单击其中的命令按钮后, 将“学生”表中Flag字段的值加1。(DAO窗体-1)
还可以将一个字段表达式赋予字段,如 rs.Fields("Flag")=Year(Date)-Year(rs.Fields("出生日期") )
举例 P301
➢ 命令按钮“退出”的Click事件代码:
rs.Close db.Close Set rs = Nothing Set db = Nothing DoCmd.Close
举例 P301
【例2】创建一个窗体。要求能在“学生信息表”中实 现记录的转移。 (DAO窗体-记录转移)
举例 P301
➢ 窗体的通用区域代码: Public ws As Workspace Public db As Database Public rs As Recordset Public fd As Field
举例 P301
➢ 窗体的“加载”(Load)事件代码:
Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase(" C:\选课管理.accdb ") Set rs = db.OpenRecordset("学生") Me.TxtXH = rs.Fields("学号") Me.TxtXM = rs.Fields("姓名") Me.TxtXB = rs.Fields("性别")
例:Set rs = db.OpenRecordSet("学生信息表" )
Close方法 关闭数据库。
语法: 数据库变量名. Close
例:db.Close
DAO中的一些重要属性和方法
P301
➢ RecordSet对象
BOF属性 当RecordSet对象建立后,系统自动会生成一个指 示器,并指向RecordSet对象中的第一条记录,该指示 器称为记录指针。记录指针可以通过Move方法移动。 当BOF属性值为True时,表示记录指针已经指到记 录集的顶部(第一条记录之前)。
P301
Seek方法 该方法也是将记录指针指向符合条件的记录。 与Find方法所不同的是:在使用Seek方法之前需 要先建立索引。通过Seek方法给出的关键字与索引 表达式的比较,将记录指针指向符合条件的记录。
(4)利用DAO访问数据库
P301
通过DAO编程实现对数据库访问时,通常按以下的 步骤进行:
在Access模块设计时要想使用DAO和各个访问 对象,首先应该增加一个对DAO库的引用。
VBE环境
【工具】菜单
【引用】命令
Microsoft DAO 3.6 Object Library Microsoft Office 14.0 Access Database Engine Object Library
语法:
工作区变量名. OpenDatabase( 数据库文件名 )
例:Set db = ws.OpenDatabase("C:\选课管理.accdb " )
DAO中的一些重要属性和方法
P301
➢ Database对象
OpenRecordSet方法 创建一个新的RecordSet对象。
语法:
数据库变量名. OpenRecordSet( 表或查询名 )
语法:
记录集变量名.Delete
例:rs.Delete
DAO中的一些重要属性和方法
P301
Move及其系列方法
当要对RecordSet对象中的某一条记录进行操作时
,必须先将记录指针指向该记录。Move方法即用于记
录指针的移动。
语法:
记录集变量名.MoveFirst
记录集变量名.MoveLast
记录集变量名.MoveNext
➢ Field(s)(字段) 表示记录集中的字段数据信息(或字段集) 。
➢ QueryDef(s)(数据库查询) 表示数据库的查询信息(集) 。
注释(3)
P301
➢ Error(s)(错误信息) 表示数据库提供程序出错时的扩展信息(集) 。
对象名的尾字符为“ s ”的那些对象是集合对象, 集合对象的下一层包含其成员。
记录集变量名.FindNext 条件表达式 记录集变量名.FindPrevious 条件表达式
注:FindNext是从当前记录开始查找表中满足条件 的下一条记录;FindPrevious 是从当前记录开始查找 表中满足条件的前一条记录。
例:rs.FindFirst 性别 = "男"
DAO中的一些重要属性和方法
记录集变量名.MovePrevious
记录集变量名.Move n
例:rs.MoveNext
rs.Move 3
rs.Move -1
DAO中的一些重要属性和方法
P301
Find方法
将记录指针指向符合条件的记录。
语法:
记录集变量名.FindFirst 条件表达式
记录集变量名.FindLast 条件表达式
➢ 创建对象变量
➢ 给对象变量赋值
➢ 通过调用对象的方法或设置属性进行操作
➢ 关闭记录集和数据库,并将其从内存中释放
利用DAO访问数据库
P301
➢ 创建对象变量:
Dim ws As Workspace Dim db As Database Dim rs As RecordSet Dim fd As Field
➢命令按钮“打开表”的Click事件设置为一个宏: 操作: OpenTable 参数: 学生
举例 P301
➢ 命令按钮“操作字段”的Click事件代码:
Do While Not rs.EOF rs.Edit fd = fd + 1 rs.Update rs.MoveNext
Loop 语句: fd = fd + 1 可以改为:rs.Fields( "Flag" ) = rs.Fields( "Flag" ) + 1
DAO对象变量的声明和赋值
P301
②对象变量的赋值
语法格式: Set 对象变量名 = 指定对象名
【例】
Set ws = DBEngine.Workspace(0) Set db = ws.OpenDatabase("D:\选课管理.accdb") Set rs = db.OpenRecordset("学生") Set fd = rs.fields ("学号")
➢ 给对象变量赋值:
Set ws = DBEngine.Workspaces( 0 )
Set db = ws.OpenDatabase( <数据库文件名> ) Set rs = db.OpenRecordSet( <表名/查询名> ) Set fd = rs.Field( <记录集中的字段名> )
利用DAO访问数据库
(1)DAO模型结构
DBEngine
Epace
Databases Groups Users
Database
P301
Containers QueryDefs RecordSets
Fields Field
注释(1)
P301
➢ DBEngine(数据库引擎)
三种数据库访问接口 P298
VBA主要提供了三种数据库访问接口:
➢ ODBC API(开放数据库互连应用编程接口) 实际编程很少直接进行ODBC API的访问。
➢ DAO(数据访问对象)(Data Access Objects) 提供一个访问数据库的对象模型,利用定义的一
系列的数据访问对象,实现对数据库的访问。
End Sub
(3)DAO中的一些重要属性和方法 P301
➢ Workspaces对象
用户通常使用DBEngine对象的属性自动创建一 个默认的工作区对象,引用该工作区可以使用 Workspaces( 0 )命令。
例:Set ws = DBEngine.Workspaces( 0 )
OpenDatabase属性 用来打开一个已有的数据库。
举例 P301
➢ 窗体类模块的通用区域代码: Public ws As Workspace Public db As Database Public rs As Recordset Public fd As Field
举例 P301
➢ 窗体的“加载”(Load)事件代码: Set ws = DBEngine.Workspaces( 0 ) Set db = ws.OpenDatabase("C:\选课管理.accdb" ) Set rs = db.OpenRecordset("学生") Set fd = rs.Fields("Flag")
EOF属性 当该属性值为True时,表示记录指针已经指到记录 集的底部(最后一条记录之后)。
DAO中的一些重要属性和方法
P301
RecordCount属性 返回RecordSet对象中的记录数。
AddNew方法 在打开的记录集中增加一条新记录。
语法: 记录集变量名.AddNew
例:rs.AddNew