第九章- VBA程序设计

合集下载

数据库技术及应用教程第9章 VBA程序设计

数据库技术及应用教程第9章 VBA程序设计
第9章 VBA程序设计
2017/7/10
本章要点
•理解面向对象的概念 •理解VBA基本语法 •掌握VBA程序设计方法,能够编写代码
2017/7/10
第9章 VBA程序设计
9.1 VBA概述
9.1.1 VBA编程环境 • Microsoft Office系列软件中内置的用来开发 应用系统的编程语言 • VBA主要是面向Office办公软件进行的系统 开发工具(增强Word、Excel等软件的自动 化能力),提供针对Office应用的很多函数、 对象
2017/7/10
第9章 VBA程序设计
9.1 VBA概述
9.1.1 VBA编程环境 • Access2003数据库中包含的程序模块可以 分为两种类型:绑定型程序模块和独立程 序模块。
– 1. 绑定型程序模块:包含在窗体、报表等数据 库基本对象之中的实际处理过程 – 2.独立程序模块:模块对象可以在数据库中被 任意一个对象所调用。不依赖于某个类的模块。
2017/7/10
第9章 VBA程序设计
9.2 VBA编程
• 例9.2窗体上有一个命令按钮Command1和 一个文本框Text1,在其Click事件过程编写 代码。单击按钮之后Text1文本框控件获得 焦点并显示“您好!”。
Private Sub command1_Click() Me!Text1.SetFocus Me!Text1.Text = "您好!" End Sub
2017/7/10
第9章 VBA程序设计
• 2. 类
9.2 VBA编程
– 类是对一类相似对象的性质描述,这些对象具 有相同的性质;相同种类的属性以及方法。类 是对象的抽象,而对象是类的具体实例。例如, 方法尽管定义在类中,但执行方法的主体是对 象而不是类。 – 在Access2003中,除表、查询、窗体、报表、 页、宏和模块等7种对象外,还可以在VBA中 使用一些范围更广泛的对象,例如,“记录集” 对象、DoCmd对象等。

ACCESS第9章 VBA程序设计(1新)

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程序设计范文VBA程序设计是指使用Visual Basic for Applications(VBA)编程语言来开发和编写程序。

VBA是一种宏编程语言,通常与MicrosoftOffice应用程序(如Excel、Word和Access)一起使用,但也可以用于其他应用程序。

它提供了一组功能强大的工具和方法,可以自动化和定制化任务,从而提高工作效率。

VBA程序设计的基本原则是通过编写代码来控制和操作Office应用程序中的各种对象,如单元格、工作簿、工作表等。

通过使用VBA,可以自动执行一系列繁琐的操作,例如数据处理、报告生成、数据导入和导出等。

VBA程序设计的一大优势是可以根据特定的需求创建自定义解决方案,使工作流程更加高效和顺畅。

VBA程序设计的入门级别是了解VBA的基本语法和编程概念。

VBA使用类似于其他编程语言(如C++和Java)的结构化编程风格,可以使用变量、分支语句、循环语句、函数和子程序等来组织和控制代码。

同时,VBA还提供了许多内置的函数和方法,可以直接应用于Office应用程序的对象模型。

除了基本语法和编程概念,VBA程序设计还涉及到与Office应用程序的对象模型进行交互。

对象模型定义了Office应用程序中各种对象的结构和属性。

通过使用对象模型,可以对工作表、单元格和图表等进行操作。

例如,可以使用VBA编写代码来自动创建工作表、设置单元格的值、复制和粘贴数据等。

同时,还可以使用VBA来处理事件,例如在单元格值发生变化时触发特定的操作。

VBA程序设计还可以通过调用其他应用程序的对象模型来实现更复杂的功能。

例如,可以使用VBA编写代码来访问数据库、发送电子邮件、操作网页和调用外部API等。

通过与其他应用程序的交互,可以实现数据的自动导入和导出,从而减少人工操作的负担。

总之,VBA程序设计是一种灵活和强大的编程语言,可以用于提高工作效率和自动化任务。

通过学习VBA的基本原则和技巧,可以为各种工作场景设计和开发定制化的解决方案。

模块和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

大学数据库教学第九章VBA程序设计

大学数据库教学第九章VBA程序设计
2/9/2019 7
引例:简单加法计算。
声明
过程
过程
窗体控件
窗体
窗体中的模块(声明及过程代码)
建一窗口,放3个文本框用于输入数据和显示结果。在 一个按钮的单击事件中编写计算程序,另一个按钮用于关 闭窗口。
2/9/2019 8
9.1 VBA概述
VBA是VB的子集,功能与VB相近。用VBA语 言编写的代码,将保存在 Access 中的一个模块里, 通过启动这个模块实现相应的功能。 模块是存储代码的容器,模块中的代码以过程 的形成加以组织,每一个过程都可以是一个函数过 程(Function过程)或一个子过程(Sub过程)。 模块有两个基本类型:
2/9/2019
5
数据库专用 SQL 语言
SQL语言结构简洁,功能强大,简单易学,自从IBM公 司1981年推出以来,该语言得到了广泛的应用。如今无论是 像Oracle ,Sybase,SQL server这些大型的数据库管理系统, 还是像 Access 、 Visual Foxporo 这些微机上常用的数据库开 发系统,都支持SQL语言作为查询语言,它是所有关系数据 库的公共语言 。
2/9/2019 11
9.2 VBA编程
下面创建一个简单的VBA程序。
例 9.1 设计一个启动后显示一个带有按钮的窗 体,单击按钮后,显示一个带有“Hello world!”字 样的对话框。
2/9/2019
2/9/2019
6
VBA 语言
VBA是VB的子集,也可以讲是个简化版,它们之间本质 的区别在于 VBA没有自己独立的工作环境,而必须依附于主 应用程序。如 Office2003 版以上完全安装就带有 VBA , VBA 作为一个完整的开发工具,绑定于 Office 的 Word 、 Excel 、 Access 、 Powerpoint 等,嵌入该应用软件作为开发工具。在 Access中,它可以加强数据库的维护功能!解决一些Access的 宏等工具无法解决的问题。用户可以根据需要创建自己的 VBA应用程序,从而实现一个复杂的管理控制系统。 说明:在数据库管理系统设计中可以使用VB、Delphi 、 VC、Java等各类软件,功能更强,效果更好,但前提是要会 使用这些软件编程。

VBA程序设计

VBA程序设计
VBA程序设计
一、VBA程序设计概述
VB(Visual Basic)是一种面向对象程序设计语
言,微软公司将其引用到其他常用的应用程序中,例如,
在 Office 的成员Word、Excel、Access 中,这种夹
在应用程序中的 Visual Basic 版本称之为 VBA
(Visual Basic for Application)。VBA 是 VB 的子
二、VBA程序语句
VBA 程序是由若干 VBA 语句构成。一个 VBA 语句是能 够完成某项操作的一条命令。 VBA 程序语句按照其功能不同分为以下两大类型: 1)声明语句 声明语句用于给变量、常量或过程定义命名。 2)执行语句 执行语句用于执行赋值操作,调用过程,实现各种流程控 制。执行语句又分为如下三种结构: (1)顺序结构:按照语句顺序顺次执行。即程序从左至右、 自顶向下执行语句。顺序结构最简单。如赋值语句、过程调用 语句等。 (2)选择结构:根据条件值选择执行路径。如条件语句。 (3)循环结构:重复执行某一段程序语句。如循环语句。
MouseDown KeyPress KeyDown
按钮上鼠标按下时发生事件 按钮上键盘击键时发生事件 按钮上键盘按下键时发生事件
表6 标签对象的部分事件
事件 Click DblClick
MouseDown
说明 标签单击时发生事件 标签双击时发生事件
标签上鼠标按下时发生事件
表7 文本框对象的部分事件
集。 Access 中使用的编程语言是 VBA语言。当某些操
作不能用其他Access对象实现或实现起来很困难时,
就可以在模块中编写VBA程序代码,以完成这些复杂
任务。
1、对象的属性
对象属性是描述对象的特征。 对象的每个属性都有一个默认值,这在“属性”对 话框中可以看到。如果不改变该值,应用程序就使用该 默认值,如果默认值不能满足要求,就要对它重新设置。 在VBA代码中,对象属性的引用方式: 对象名.属性名 Access中“对象”可以是单一对象,也可以是对 象的集合。例如,Label0.caption 中的Label0表示一 个“标签”对象,Reports.Item(0) 表示报表集合中的 第一个报表对象。

第9章 VBA程序设计基础

第9章 VBA程序设计基础

第9章 VBA程序设计基础 章 程序设计基础
一般Access程序设计在遇到以下情况时需要使用 程序设计在遇到以下情况时需要使用 一般 VBA代码: 代码: 代码 (1)创建用户自定义函数; )创建用户自定义函数; (2)复杂的程序处理; )复杂的程序处理; (3)数据库的事务处理操作; )数据库的事务处理操作; 控件和其他应用程序对象; (4)使用 )使用ActiveX控件和其他应用程序对象; 控件和其他应用程序对象 (5)错误处理; )错误处理;
9.2 面向对象程序设计基础
9.2.1 面向对象程序设计的基本概念 Access自带的编程语言 自带的编程语言VBA采用目前主流的面向对象 自带的编程语言 采用目前主流的面向对象 机制和可视化编程环境, 机制和可视化编程环境,其中面向对象方法涵盖了对象及对 象属性与方法、 继承、多态性几个基本要素, 象属性与方法、类、继承、多态性几个基本要素,这些概念 是理解和使用面向对象方法的基础和关键。 是理解和使用面向对象方法的基础和关键。 1.对象 . 对象是面向对象方法中最基本的概念。 对象是面向对象方法中最基本的概念。对象可以用来表 示客观世界中的任何实体, 示客观世界中的任何实体,它既可以是具体的物理实体的抽 也可以是人为的概念, 象,也可以是人为的概念,或者是任何有明确边界和意义的 东西。例如:一个人、一本书、一台计算机等都是对象。 东西。例如:一个人、一本书、一台计算机等都是对象。
9.1 模块
VBA中也支持在模块中运行宏: 中也支持在模块中运行宏: 中也支持在模块中运行宏 Microsoft Access 定义了一个特殊的对象 定义了一个特殊的对象DoCmd, , 使用它可以在Visual Basic程序中运行宏的操作。要运行 程序中运行宏的操作。 使用它可以在 程序中运行宏的操作 操作, 对象的方法放到过程中即可。 操作,只需将 DoCmd 对象的方法放到过程中即可。大部 方法。具体格式如下: 分的操作都有相应的 DoCmd 方法。具体格式如下: DoCmd.method [arguments] method是方法的名称。当方法具有参数时, 是方法的名称。当方法具有参数时, 是方法的名称 arguments代表方法参数。但是并不是所有的操作都有对 代表方法参数。 代表方法参数 应的DoCmd方法。 方法。 应的 方法

Access 2010数据库第九章 模块和VBA

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代码可以设置或者 读取对象的属性数值。修改对象的属性值可以改变对象的特性。 设置对象属性值的语法格式如下:
对象名.属性 = 属性值
有些属性并不能设置,这些属性或者只能读取此属性(只读属 性),或者只能写入此属性(只写属性)。还可以通过属性的返 回值,来检索对象的信息。

学习VBA基础知识讲课教案

学习VBA基础知识讲课教案
方法 方法是系 统事先设计好的,可以完成一定操作的特
殊过程,是附属(fùshǔ)于对象的行为和动作。在需要使用的时 候可以直接调用。 其格式为: 对象名.方法名
第五页,共108页。
常见(chánɡ jiàn)对象及其含义
对象名 Application Window Worksheet Sheets ShapeRange PivotTable Workbook Shape Range Name Chart
Const PI#= 3.1415926
第十四页,共108页。
2-1-2变量(biànliàng)
变量(biànliàng)是内存中的临时单元,存放在程序执 行过程中产 生的中间结果和最后输出结果。 在程序中使用变量(biànliàng),就要给变量(biànliàng) 定义名称及类型,即 对变量(biànliàng)进行声明。
声明(shēngmíng)而未赋值的变量的值为: 数值型变量初始化为0; 字符型变量为零长度字符串; 变体型变量初始化为 Empty;
第二十五页,共108页。
2-3-1算术(suànshù)运算符
第二十六页,共108页。
2-3-2连接(liánjiē)运算符
连接(liánjiē)运算符: & 、+(字符串连接(liánjiē))
数据类型的声明符。 说明:常量名的命名规则与变量名的命名规则相同
第十六页,共108页。
2-2 数据类型与变量(biànliàng)的声明
在VBA中,数据类型用来决定变量可以保存何种数据。 VBA支持多种数据类型,为用户编程提供(tígōng)了方便。
第十七页,共108页。
2-2-1 VBA的数据类型
第十五页,共108页。

9 VBA数据库编程

9 VBA数据库编程


设置窗体的背景
◦ Me.Picture = “c:\pic\11.bmp"

改变窗体的数据来源
◦ Me.RecordSource = "qtemp“ ◦ Me.RecordSource = “select * from temp"

改变当前窗体文本框的值
◦ Me!Txt1.value=“文本文本” ◦ Me!Txt1.value=[姓名] ◦ Me!Txt1.value=Year(date())-year([工作时 间])
标签属性的设置
文本框属性的设置
窗体fEmp中已有标签Label1、文本框txt1和命令按钮 cmd1 。要求窗体加载时,使用VBA代码设置以下属性:
1.将窗体标题显示为“学生信息浏览”; 2.将窗体记录源改为查询“qt1”; 3.将标签Label1的字体颜色设为红色(255代表红色),字号 为22,字体为黑体; 4.设置文本框txt1的内容为当前系统时间; 5.将命令按钮cmd1设为不可用.
‟Text1文本框的标题 ‟当前窗体中Text1文本框的标题
设置当前报表的标题为“教师基本情况”: Me.caption=“教师基本情况”
在属性窗口设置对象的属性,属于“静态”设置方法,代码实现对对象属性 值的设置,称为“动态”设置方法。
以aption=“学生窗体”

3.关闭窗体/对象
◦ 格式:Docmd.Close [对象类型][,名称]
不带参数时:关闭活动窗体或当前对象 参数的设置:对象类型(窗体、报表、表、查询等),对象名称,保存(是否保存) 例1:DoCmd.Close ‟关闭当前窗口 例2:DoCmd.Close acForm ,“学生信息” ‟关闭学生信息窗体 例3:DoCmd.Close acReport,”输出教师信息” ‟关闭“输出教师信息”报表

全国二级ACCESS教程第9章VBA数据库编程

全国二级ACCESS教程第9章VBA数据库编程
单/击/此/处/添/加/副/标/题/内/容
第9章 VBA数据库编程
授课教师:邓广彪 联系电话: 电子邮箱:
Access数据库程序设计
9.1.1 VBA常见操作
打开和关闭操作
打开窗体:DoCmd.OpenForm 窗体名
② 打开报表: DoC m d .O p en Rep or t 报表名
③ 关闭操作: DoCmd.Close 对象类型, 对象名
分析如下代码,考虑为什么提示的结果是55。
Sub abc() Dim sum, i, j As Integer sum = 1 For i = 2 To 4 For j = 1 To 3 sum = sum + i * j Next Next MsgBox sum
End Sub
分析如下代码,考虑为什么提示的结果是25。
End Sub
如果想对当前读取到的记录进行修改,可以使用“字段变量 = 值”的格式进行修改,但在修改前必须要使用rs.Edit表示 允许进行修改,修改后必须使用rs.Update进行更新。
举例:对“班级信息表”中“班级名称”以“艺术”开头的 班级,将人数增加100。
代码见下一张幻灯片。
Sub abc() Dim db As DAO.Database Dim rs As DAO.Recordset Dim mc As DAO.Field Dim num As DAO.Field Set db = CurrentDb() Set rs = db.OpenRecordset("班级信息表") Set mc = rs.Fields("班级名称") Set num = rs.Fields("人数") Do While Not rs.EOF If mc Like "艺术*" Then rs.Edit num = num + 100 rs.Update End If rs.MoveNext Loop rs.Clone db.Close

Access数据库应用技术第九章模块与VBA编程

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 模块的基本概念1.模块的分类Access中模块可以分为两类:类模块和标准模块。

类模块是一种包含对象定义的模块,当创建一个新的事物时即在程序中创建一个新的对象。

窗体和报表模块都属于类模块。

标准模块中含有常用的子过程和函数过程,不与其他任何对象相关联,而是在数据库的其他模块中进行调用。

9.1 模块的基本概念2.宏转换为模块Access中可以根据需要把设计好的宏对象转换成模块代码形式。

【实例9-1】将“学生管理.mdb”数据库中已建立的宏“打开表”转换为模块。

9.1 模块的基本概念3.在模块中执行宏在模块中执行宏,可以使用DoCmd对象的RunMacro方法。

DoCmd对象是Access提供的一个重要对象,它的功能是通过调用Access的内置方法,在VBA中实现某些特定的操作。

执行宏的格式为:DoCmd. RunMacro MacroName。

9.2 VBA编程基础9.2.1 VBE编辑环境9.2.2 VBA语法基础9.2.1 VBE编辑环境1.类模块进入VBE环境的方法在窗体或报表的属性窗口中选择“事件”选项卡,单击任一事件过程右侧的按钮,进入“选择生成器”对话框9.2.1 VBE编辑环境2.标准模块进入VBE环境的方法在数据库管理界面选择“模块”对象,单击“新建”按钮,或打开已存在的模块对象都可进入VBE环境还可通过执行“工具”菜单的“宏”命令,在级联菜单中选择“Visual Basic编辑器”9.2.1 VBE编辑环境3.在VBE环境中编写VBA代码VBA代码是由语句组成的,代码编写时需遵循一定的书写规则。

(1)断行(2)续行(3)注释(1)断行(4)采用缩进格式书写程序1.变量和常量1.变量和常量(1)变量变量用于临时保存数据,程序运行变量的值可以改变。

VBA程序设计

VBA程序设计

VBA程序设计VBA (Visual Basic for Applications) 是一个基于微软的 Visual Basic 编程语言的应用程序编程接口(API),用于自动化和定制微软应用程序,如Excel、Word、PowerPoint等。

实例一:自动填充Excel单元格在Excel中,当我们需要填充一列或一行相同的内容时,可以使用VBA 来实现自动填充。

然后,在代码窗口中编写以下VBA代码:```vbaSub AutoFillCellsRange("A1").Value = "Hello"Range("A2").Value = "World"Range("A3:A10").Value = Range("A1:A2").ValueEnd Sub```在这个例子中,我们首先在 A1 单元格中写入 "Hello",在 A2 单元格中写入 "World"。

然后,我们使用 Range 函数和 Value 属性来将 A1 和 A2 单元格的值自动填充到 A3 到 A10 单元格中。

实例二:自动创建PowerPoint幻灯片VBA 还可以用于自动创建 PowerPoint 幻灯片。

我们可以编写 VBA 代码来添加幻灯片、插入文本和图片等操作。

然后,在代码窗口中编写以下VBA代码:```vbaSub CreateSlideDim pptApp As PowerPoint.ApplicationDim pptPres As PowerPoint.PresentationDim pptSlide As PowerPoint.Slide' 创建 PowerPoint 对象Set pptApp = New PowerPoint.Application'打开一个新的演示文稿Set pptPres = pptApp.Presentations.Add'在演示文稿中插入一个新的幻灯片Set pptSlide = pptPres.Slides.Add(pptPres.Slides.Count + 1, PowerPoint.PpSlideLayout.ppLayoutBlank)'在幻灯片中插入文本框并输入文本WithpptSlide.Shapes.AddTextbox(Orientation:=msoTextOrientationHorizo ntal, Left:=100, Top:=100, Width:=400, Height:=200).TextFrame.TextRange.Text = "Hello, World!"End With'保存演示文稿pptPres.SaveAs "C:\path\to\save\file"' 关闭 PowerPoint 对象pptPres.ClosepptApp.Quit'释放对象Set pptSlide = NothingSet pptPres = NothingSet pptApp = NothingEnd Sub```在这个例子中,我们首先创建了一个 PowerPoint 对象,然后打开一个新的演示文稿。

Access基础与应用教程PPT课件 第9章 VBA的数据库编程

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对象

学习VBA编程【最完整的】

学习VBA编程【最完整的】

作者:Julitta Korol 翻译:Tiger Chen Nov 28’ 2004语言学习是一个长期的活动,在此过程中,你会经历不同的阶段,由生疏到熟悉。

学习VBA编程也是一样的,没有捷径。

要想精通VBA,你必须从一个初级阶段起步(第二至四章)。

只有当你对VBA后面的一些基本的东西有了很好的理解之后,才能提高到中级阶段(第五至七章)和高级阶段(第八至十七章)。

但是,重要的事情先来。

在你能够用VBA自由自在地控制Excel之前,你需要获得一些你的术语和语法。

在VB里,如何表达这些?“在工作簿里添加一个新工作表”,“删除单元格A5的内容”,“将单元格A1的公式复制到单元格B1”?你也许知道这些单个的词语,然而,你怎么知道如何将它们正确地组合在一起,Excel才能执行这些任务?你将在本章中学习VBA的术语和规则。

1了解指令,模块和过程2010-7-24在第一章,你学习到了Excel宏录制器创建的一系列指令是和你实际进行的操作完全等同的。

这些指令自动地放在工作簿里一个叫做“模块”的表里。

Excel将模块储存在模块文件夹里,这个文件夹在当前工作簿,新工作簿或者个人宏工作簿里面。

你必须激活VB编辑器窗口,并且双击工程浏览器里的模块文件夹才能查看到这些模块。

当模块表在代码窗口里打开了后,你才能最后分析你的过程代码。

所有录制的指令都包括在“过程”里面。

过程里面的每一行都是一个“指令”。

指令的类型有很多中,例如,关键词,运算符,或者其它过程的调用。

“关键词”代表VB中的一个特殊的意义。

在第一章中,你学习了最常见的VBA关键词——Sub 和End Sub,它们表示一个过程的开始和结束。

关键词默认地显示为蓝色。

你不要将这些术语做其它的目的,因为关键词已经被VB保护了。

除了关键词,VB指令里还可以有运算符。

运算符有四种类型:算术运算,字符串连接,逻辑运算和比较运算。

“运算符”允许你将某些值结合起来。

例如,减号运算符(/)可以用来计算总数的百分比。

第九章 VBA编程

第九章 VBA编程
(5)多路分支
Select Case <测试表达式> Case <表达式值列表1> <语句序列1> Case <表达式值列表2> <语句序列2> …… …… Case <表达式值列表n> <语句序列n> [Case Else <语句序列n+1>] End Select
第九章
VBA编程
第九章 VBA编程
第九章
VBA编程
第九章 VBA编程
9.2 VBA中的数据 9.2.5 函数
3、计算外部数据源中的数据的函数
(1)Dlookup
(2)Davg
(3)Dsum
(4)Dcount
第九章
VBA编程
第九章 VBA编程
9.3 VBA的程序结构 • 结构化程序设计的概念 1.标识符的命名规则 (1)必须由字母或汉字开头,可由字母、汉字、数字、 下划线组成; (2)长度小于256个字符; (3)不能使用Visual BASIC中的专用关键字; (4)标识符不区分大小写;
• 静态变量
在过程中,用Static关键字声明的局部变量属于静 态变量。
静态变量在过程运行时可保留变量的值,即每次 调用过程时,用Static说明的变量保持上一次的值。
第九章
VBA编程
第九章 VBA编程
9.2 VBA中的数据 9.2.4 数组 数组是存放一组数据的容器;每一数组都有名字;不同的 元素用下标标识。
第九章
VBA编程
第九章 VBA编程
9.3 VBA的程序结构 9.3.2分支结构
2、If
Then
Else语句 (双路分支)
格式一:

VBA程序设计基础(精校版本)

VBA程序设计基础(精校版本)

第九章程序设计基础教学目标:●理解什么是程序●掌握程序设计的基本方法●编写并调试简单的VBA应用程序●编写简单的事件驱动程序●会在VBA应用程序中访问数据库教学过程:一、程序设计概述做一件事,计算机可以把它分解为一系列的基本操作步骤,通过程序设计语言的基本语句来完成,这就是程序。

程序设计方法主要有两种:面向过程的结构化程序设计方法和面向对象的程序设计方法。

前面所学的窗体对象设计就是一种面向对象的设计方法。

在Access中编写程序使用的语言是Visual Basic for Application,简单VBA。

首先看一下VBA编写的几个简单程序。

例9-1 在窗体上放置一个命令按钮和一个文本框,单击命令按钮后在文本框中显示“VBA 程序设计”步骤如下:1、打开数据库,切换到“窗体”对象下,双击“在设计视图中创建窗体”,2、添加文本框,在对应的属性窗口“全部”选项卡的第一行设置名称为“文本1”,添加命令按钮,名称为“命令0”3、打开“按钮”的属性窗口,在“事件”选项卡下的“单击”栏选“事件过程”,单击后面的按钮,进入编辑窗口:单击此按钮,输入程序。

4、在编辑窗口中输入如下程序:(其实窗口中已有,所以我们只要在中间添加一句Private Sub 命令0_Click()文本1.Value=“VBA程序设计”End Sub说明:1、程序的开头“Private Sub”和结束“End Sub”是一个固定搭配,表示这是一个过程,程序中的“命令0_Click( )”表示这个程序在“命令0”按钮被单击时执行。

2、在编辑窗口已有程序的开头和结尾,所以我们只要输入中间的一句:文本1.value=“VBA程序设计”3、注意程序中引用的“命令0”,“文本1”一定要和窗体中的按钮、文本框名称一致。

5、关闭程序编辑窗口,切换到窗体视图,则单击命令按钮后,“VBA程序设计”即显示在文本框中。

思考在上面的窗体中再添加一个按钮,单击则清除文本框中显示的文本,应该怎样操作?例9-2 在窗体中有一个命令按钮和两个文本框,用户在第一个文本框中输入一个正整数,当单击该按钮时计算出这个正整数的阶乘,并在第二个文本框中显示计算结果。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

教学进度
计算机科学与工程系
例如:Dim IntArray(10 ) As Integer 这条语句声明了一个有11个整型数组元素的数组,数组 元素从IntArray(0)至IntArray(10),每个数组元素为一个整型 变量,这里只指定数组元素下标上界来定义数组。 VBA中允许指定数组下标范围时使用To,如下例所示: Dim IntArray1(-2 to 3) As Integer 该语句定义一个有6个整型数组元素的数组,数组元素下 标从-2到3。
计算机科学与工程系
1.VBA是什么: VB(visual basic)是一种程序设计语言, VBA(visual basic for application)则是VB的子集,功能与VB 相近。用VBA语言编写的代码,将保存在Access中的一个模 块里,通过启动这个模块,从而实现相应的功能。 2.VBA的用途:提供了很多内置函数给用户直接调用,大致 来讲是非专业的编程工具。它可以加强数据库的维护功能, 解决ACCESS的宏等工具无法实现的功能。
教学进度
举例
例9.1
Private Sub Command1_Click()
MsgBox "Hello world!" End Sub
计算机科学与工程系
能够分清楚属性,方法,事 件这些概念吗
Private Sub Command2_Click()
DoCmd.Close
End Sub
教学进度
9.2.3 VBA编程基础
教学进度
9.2 VBA编程
面向对象程序设计概念
计算机科学与工程系
1. 类和对象 对象(Object)是独立于主体的现实世界中某个客观存在的事物, 例如,表是对象,窗体和窗体上的各种控件也是对象。每个对象都有 属性,方法和事件。属性看作一个对象的性质和特征,方法看作对象 的动作,事件看作对象的响应。 类(Class)是对一类相似对象的性质描述,这些对象具有相同的 性质;相同种类的属性以及方法。类是对象的抽象,而对象是类的具 体实例。例如,方法尽管定义在类中,但执行方法的主体是对象而不 是类。 类和对象的不同:类是型,对象是实例。类是抽象的,不占用内 存,而对象是具体的,占用存储空间。打个比方:人类就是一个类, 而对象是一个个具体的人,如张三,李四。人类只是一个概念,没有 生命力的(不占用内存),能够活动能够的是一个个具体的人(占用 内存)。
教学进度
计算机科学与工程系
(2) 字符型数据类型(String) 是放在双引号内的若干个字符,长度为0的字符串称为空 字符串。 例如: "123" 、 "VBA程序设计 " 等均表示字符型数据。 ""表示空字符串," "表示有一个空格的字符串。 (3) 日期型数据类型(Date) 日期型数据按8字节的浮点数来存储,日期范围为1000年 1月1日至9999年12月31日,而时间范围为00:00:00~23:59:59。 日期型数据前后要加#号。 例如,#April 10, 2008#、#11-11-2011# #2008-08-18 10:30:00AM#
教学进度
计算机科学与工程系
(3) 数组 数组是由一组具有相同数据类型的变量(称为数组元素) 构成的集合。在VBA中不允许隐式说明数组,可用Dim语句 来声明数组。数组声明格式为: Dim 数组名([下标下界 to ] 下标上界) As 数据类型
下标下界的缺省值为0,数组元素为:数组名(0) 至 数组 名(下标上界);如果设置下标下界非0,要使用to选项。
第九章 VBA程序设计
计算机科学与工程系
在Access中,要完成复杂条件下的对象操作仅 靠控件向导和宏是不够的,借助VBA则可以解决实 际开发中的复杂应用。 学习目标:
•理解面向A程序设计方法,能够阅读并理解代码, 编写简单的代码(考点)
教学进度
9.1 VBA概述
教学进度
计算机科学与工程系
2. 常量、变量和数组 (1) 常量 常量是在程序中可直接引用的实际值,其值在程序运行 过程中不变。在VBA中,一般有以下3种常量。 ① 直接常量 实际上就是常数,数据数据的不同决定了常量的不同。 例如:456、"VBA"、#2009-8-24#分别为数值型、字符 型、日期型常量。 ② 符号常量 有些常量可以由用户定义的符号常量来表示,符号常量 使用Const语句来创建。 例如: Const conPI=3.1415
教学进度
计算机科学与工程系
(2) 事件和事件过程 事件通常是由系统事先设定的能被对象所识别并响应的 动作。如Click(单击)事件、DblClick(双击)事件等。 事件过程则是响应某一事件时去执行的程序代码。 3. DoCmd对象 DoCmd是一个特殊的对象,具有很多内置方法。可使用 DoCmd 对象的方法从 VB 运行 Microsoft Access 操作。操作 用于执行诸如关闭窗口、打开窗体及设置控件值等任务。
教学进度
计算机科学与工程系
(4) 变体数据类型(Variant) 变体数据类型是一种可变的数据类型,可以表示任何值, 包括数值、字符串及日期等。如果没有事先声明或使用符号 (%、!等) 定义变量的数据类型,系统默认为变体类型。 (5) 逻辑数据类型(Boolean) 也称布尔型。只有True(真)或False(假)两个值。 (6) 对象数据类型(Object) 对象型数据用来表示图形、OLE对象或其它对象,对象 变量可引用应用程序中的对象。
Dim intX As Integer, strZ As String Dim x '声明x为变体型变量 Dim i, j, k As Interger „只有k是Integer类型,i和j都是Variant类型
教学进度
计算机科学与工程系
③VBA允许用户在编写应用程序时,不声明变量而直接 使用,系统会临时为新变量分配存储空间并使用,这就是隐 式声明。所有隐式声明的变量都是变体类型(Variant) 。 例如:NewVar = 123。该语句定义了一个隐含型变量, 名字为NewVar,类型为Variant数据类型,值为123。 在VBA编程中使用隐含型变量对调试程序和识别变量等 都会带来困难。为了增加程序的可读性和可维护性,尽量少 使用变体类型。
教学进度
9.2 VBA编程
2. 属性,方法和事件的表示
计算机科学与工程系
(1) 属性和方法 属性用来表示对象的状态,方法用来描述对象的行为, 即对象自身能够完成的动作。 属性与方法的引用方式为:对象.属性名或对象.方法名, 引用中的“对象”描述一般使用格式:父对象类名!子对象名。 Forms!Lb1.Caption="新显示内容" Forms!Text1. SetFocus
教学进度
计算机科学与工程系
• 举例说:现实中我们可以把某个人看作对象(如: VB把窗体看作是一个对象),这个人有一个名字吧, 那名字就是这个对象的一个属性( VB窗体也有名字, 如Form1),其它的属性还有年龄呀,身高呀…… (VB窗体也有backcolor,forecolor……等属性,这些 属性设置好了,是不是就做成了一个与众不同的窗体 了,就象人一样,每个人都长得和别人不一样),一 个人他会走,会跑,会说话这就是方法了(VB中方 法:Form1.cls,窗体将执行清屏操作)。当一个人 听到别人叫他是不是会做出相应的反映呢,那么事件 就是这个意思,例如当你单击窗体这个事件发生时 Form1会执行一个宏或执行一段代码,就象人一样, 听到别人喊他名字时会答应。
教学进度
计算机科学与工程系
如果定义多维数组,声明方式为: Dim 数组名(数组第1维下标上界, 数组第2维下标上界…) As 数据类型 例如,Dim IntArray2(3, 5 ) As Integer 该语句定义了一个二维数组,第一维有4个元素,第二 维有6个元素。 数组中的每个元素都可以当作单个的变量来使用, 引用格式为:数组名(下标值) 例如: IntArray(4 ) =2 一维数组元素赋值 IntArray2(2,4) =8 二维数组元素赋值
教学进度
计算机科学与工程系
在程序中使用变量就要给变量定义名称和类型,这就是 对变量进行声明。一般来讲,变量都是先声明,后使用。 ① 使用类型说明符号声明变量 允许使用类型说明符号来声明常量和变量的数据类型, 如:varXy%是一个整型变量,123%则是一个整型常数,类 型说明符号在使用时始终放在变量或常数的末尾。VBA中的 类型说明符号见表9.1中的符号列所示。 例如: X1%=123 '声明intX1为一个整型变量 X2#=123.456 '声明douX2为一个双精度变量 X3$= "Access2003" '声明strX3为一个字符串变量 X4!= 123.456 „声明strX3为一个单精度变量
计算机科学与工程系
1. VBA中的基本数据类型 (1) 数值型数据类型 数值型数据类型包括:Byte、Integer、Long、Single、 Double和Currency。 ① Byte:以一个字节的无符号二进制数存储,取值范围 为0~255。 由于取值范围较小,用的不多
② 整数(Integer和Long):%是整型数的符号,可省略。 &是长整型数的符号,不可省略。 整数用的较多,特别是Integer 例如:345、-345、345%均表示整型数,345&、-345& 均表示长整型数。
教学进度
计算机科学与工程系
变量的命名规则: 变量名只能由字母、数字、汉字和下划线组成,不能含 有空格和除下划线字符“_”之外的其它任何标点符号,长度 不能超过255。 .必须以字母开头,不区分变量名的大小写。 例如,若以Abc命名一个变量,则abc、ABC、aBc等都 认为是同一个变量。 .不能和VBA的关键字重名。 例如,不能以if、Dim、double等命名变量。 .类型说明符只能出现在名称的后面。 .取名要兼顾程序的可读性,通常在变量名前加一个缩 写的前缀来表明该变量的类型。例如用StrAbc来命名一个字 符串变量。
相关文档
最新文档