VBA数据库编程资料
VBA编程中的数据库连接与操作详解

VBA编程中的数据库连接与操作详解VBA(Visual Basic for Applications)是一种用于编写Microsoft Office 应用程序的编程语言。
在VBA编程中,与数据库的连接和操作是非常重要的一部分。
本文将详细介绍VBA编程中的数据库连接和操作,并提供一些实例来帮助读者更好地理解。
一、数据库连接1. 连接字符串数据库连接通常需要使用连接字符串来指定数据库的位置和其他连接参数。
连接字符串的格式取决于所使用的数据库类型。
下面是一些常见数据库的连接字符串示例:- Access数据库:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myDatabase.accdb;Persist SecurityInfo=False;- SQL Server数据库:Provider=SQLOLEDB;DataSource=serverName;Initial Catalog=databaseName;UserID=userName;Password=password;- MySQL数据库:Driver={MySQL ODBC 5.3Driver};Server=serverAddress;Database=databaseName;User=user ;Password=password;Option=3;需要注意,以上示例中的连接字符串仅供参考,实际使用时应根据具体情况进行修改。
2. 打开连接在VBA中,可以使用ADODB(ActiveX Data Objects)对象来进行数据库操作。
首先需要创建一个ADODB.Connection 对象,并使用连接字符串来打开连接。
下面是一个示例:```vbaDim conn As ObjectSet conn = CreateObject("ADODB.Connection")conn.ConnectionString ="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\myFolder\myDatabase.accdb;Persist SecurityInfo=False;"conn.Open```在打开连接之前,可以根据需要设置连接对象的其他属性,如CommandTimeout(执行命令的超时时间)和CursorLocation(指定游标的位置)等。
VBA数据库编程 ppt

Non SQL Data
Video Other Directory Services
Mainframe and Legacy Data
VBA可访问的数据库有3种:
(1)JET数据库,即Microsoft Access。 (2)ISAM数据库,如:dBase,FoxPro等。 (3)ODBC数据库,凡是遵循ODBC标准的客户/服务器数据库。 如:Microsoft SQL Server、Oracle等
8.2 VBA数据库编程技术
(3)Text ODBC "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=文件路径; Extensions=asc,csv,tab,txt;" OLE DB "Provider= Microsoft.ACE.OLEDB.12.0;Data Source=文件路径; Extended Properties=""Text;HDR=Yes;FMT=Delimited""“ 这里,HDR=Yes表示第一行是标题。 提示: SQL 语法: " Select * From customer.txt "
10
8.1 VBA数据库编程技术简介
DAO访问数据库通用模板
’ 定义对象变量 Dim ws As Workspace Dim db As Database Dim rs As RecordSet
’ 通过Set 语句设置各个对象变量的值 Set ws = DBEngine.Workspace(0) ’ 打开默认工作区 Set db = ws.OpenDatabase(<数据库文件名>) ’ 打开数据库文件 Set rs = db.OpenRecordSet(<表名、查询名或SQL语句>) ’ 打开数据记录集 Do While Not rs.EOF ’ 利用循环结构遍历整个记录集直至末尾 …… ’ 安排字段数据的各类操作 rs.MoveNext ’ 记录指针移至下一条 Loop rs.close db.close Set rs = Nothing Set db = Nothing …… ’ 关闭记录集 ’ 关闭数据库 ’ 回收记录集对象变量的内存占有 ’ 回收数据库对象变量的内存占有
第10章 VBA数据库编程

A.Database B.Workspace C.DBEngine
D.RecordSet
2)Database是DAO最重要的对象之一,其创建一个新记录集的方法是
( )。
A.OpenRecordSet
B.CreateQueryDef
C.CreateTableDef
D.Create
3)判断Recordset对象的指针是否指向记录集底部的属性是( )。
C.ADO使用ConnectionString属性与数据库建立连接
D.ADO的Recordset对象是指操作Command对象所返回的记录集
第10章
10.3 习题
2.填空题 1)DAO的含义是____________________,ADO的含义是___________________ 。 2)DAO对象模型采用分层结构,最顶层的对象是_____________。 3)在使用ADO对象之前,需要设置____________________,它是ADO辨识数据 源格式的关键。 4)ADO使用_____________属性与数据库建立连接。 5)已知“employee”是数据库“职工管理.accdb”中的表,其中存储有职工的 基本信息:职工号、姓名、性别和籍贯。在图10-5所示的“emp”窗体中,对应 于“职工号”“姓名”“性别”和“籍贯”标签的4个文本框的名称分别为 empNo、empName、empSex、empRes。
数据库原理及应用 (Access 2016版)
吴靖 主 编 唐小毅 马燕林 金 鑫 副主编
第10章
第10章 VBA数据库编程
10.1 VBA数据库编程技术简介 10.2 VBA数据库编程技术
10.3
习题
第10章
《VBA编程基础》课件

3
函数和子程序调用
了解如何创建和使用函数、子程序, 并学习如何在程序中调用它们重用代 码。
第四章 VBA高级技巧
VBA事件编程
学习如何使用VBA事件处理器来响应用户的操作和系统事件。
类与对象编程
探索面向对象编程概念,学习如何创建类和对象,并了解如何应用它们。
VBA调试技巧
了解常见的VBA调试技巧和工具,以解决和修复程序中的错误。
文件系统和网络对象
了解如何通过VBA访问文件系 统和网络资源,进行文件操作 和网络通信。
第三章 VBA常用控制结构
1
条件判断语句
学习如何使用条件判断语句,如IF-
循环语句
2
THEN-ELSE,来在程序执行中做出 不同的决策。
探索不同类型的循环语句,如FOR循
环和DO WHILE循环,以及如何使用
它们处理重复任务。
第五章 VBA实战案例
Excel自动化
数据库处理
了解如何使用VBA自动化Excel, 提高工作效率并加快数据处理。
学习如何使用VBA连接和操作 数据库,执行数据查询和数据 处理。
网络通信
探索如何通过VBA实现网络通 信,如发送电子邮件和接收网 络数据。
总结:VBA编程的应用前景和学习的建议
总结本课件的内容,探讨VBA编程在不同领域的应用前景,并提供学习VBA编程的建议和资源。
VBA开发环境介绍
了解如何设置VBA开发环境并熟悉开发工具和界面。
VBA基本语法介绍
学习VBA的基本语法规则,包括变量、数据类型、运算符和表达式。
第二章 VBA常用对象
工作表、单元格等Βιβλιοθήκη xcel 对象了解Excel中常用的VBA对象, 如工作表和单元格,并学习如 何使用它们。
vba中操作数据库基本内容

vba中操作数据库基本内容VBA中操作数据库基本内容VBA(Visual Basic for Applications)是一种用于自动化任务和编写宏的编程语言,广泛应用于Microsoft Office软件中。
在VBA 中,我们可以使用ADO(ActiveX Data Objects)来操作数据库,实现数据的增删改查等操作。
本文将介绍VBA中操作数据库的基本内容,包括连接数据库、执行SQL语句、处理数据等。
1. 连接数据库在VBA中,我们可以使用ADO对象来连接数据库。
首先,我们需要创建一个ADODB.Connection对象,并指定数据库的连接字符串,例如:```vbaDim conn As New ADODB.Connectionconn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\Path\To\Database.accdb"conn.Open```其中,Provider指定了数据库的提供程序,Data Source指定了数据库文件的路径。
2. 执行SQL语句连接数据库后,我们可以使用ADODB.Connection对象的Execute方法来执行SQL语句。
例如,执行一条查询语句并将结果保存到一个ADODB.Recordset对象中:```vbaDim rs As New ADODB.Recordsetrs.Open "SELECT * FROM Employees", conn```上述代码执行了一条查询语句,选择了Employees表中的所有记录。
查询结果将保存在rs对象中,我们可以通过rs对象来访问和处理查询到的数据。
3. 处理数据在VBA中,我们可以使用ADODB.Recordset对象来处理数据库中的数据。
例如,可以使用MoveNext方法遍历查询结果:```vbaWhile Not rs.EOF' 处理当前记录' ...rs.MoveNextWend```上述代码中,EOF属性表示是否已到达查询结果的末尾。
5.VBA编程基础-数据库编程

万红波 烟台大学
VBA编程基础
1. 2. 3. 4. 5.
常量、变量、运算符和表达式; 流程控制语句; 过程调用和参数传递; 常用操作的实现方法; VBA的数据库编程; 的数据库编程; 的数据库编程
5.1 数据库引擎及其接口
数据库引擎:实现对物理数据库的访问的 一组动态链接库(DLL); 访问Access数据库使用Microsoft Jet数据库 引擎;
ADODB DAO
编程范例
直接在Connectin对象上打开 对象上打开RecordSet 直接在 对象上打开 对象上打开RecordSet 在Command对象上打开 对象上打开
5.3 ADO-程序范例
‘创建连接对象、结果集对象 创建连接对象、 创建连接对象 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset ‘打开数据库连接 打开数据库连接 cn.Open “数据库连接字符串 数据库连接字符串" 数据库连接字符串 ‘直接在当前数据库连接上执行 直接在当前数据库连接上执行SQL查询,返回结果集 查询, 直接在当前数据库连接上执行 查询 rs.Open “SQL查询语句 查询语句", cn 查询语句 ‘操作结果集中的数据 操作结果集中的数据 Do While Not rs.EOF ...... rs.MoveNext Loop ‘资源释放 资源释放 rs.Close cn.Close Set rs=Nothing Set cn=Nothing
DCount("编号","教师表","性别='女'") DAvg("年龄","学生表")
第13章 VBA数据库编程
鼠标键盘事件
MouseDown MouseUP MouseMove
KeyDown KeyPress KeyUp
数据库访问技术
• 数据库访问:打开数据库,打开数据表或
查询,对数据表或查询进行各类操作。
• 有两种对象可以实现数据库的访问: •Байду номын сангаас1、DAO(数据访问对象) • 2、ADO(ActiveX数据对象)
VBA数据库编程
常见操作
• 打开窗体 • DoCmd.OpenForm 窗体名 • 打开报表 • DoCmd.OpenReport 报表名 • 关闭 • DoCmd.Close
提示函数: • 消息框用于在对话框中显示消息,等待用户单击按 钮,并返回一个整型值告诉用户单击哪一个按钮。 其使用格式如下:
DAO的访问格式
记录集包括表 和查询
Dim ws As Workspac 定义工作区对象,为其分配内存空间 Dim db As Database 定义数据库对象,为其分配内存空间 Dim rs As RecordSet 定义记录集对象,为其分配内存空间 Set ws=DBEngine.Workspace(0) 设定具体的工作区 Set db=ws.OpenDatabase(数据库名) 打开数据库实体 Set rs=db.OpenRecordSet(记录集名) 打开数据库中的数据表(查询) …… 一系列的操作 rs.close 关闭记录集 db.close 关闭数据库 Set rs=Nothing 回收rs对象内存空间 Set db=Nothing 回收db对象内存空间
打开记录集的编辑状态
关闭数据库
清空变量内存
ADO
定义过程
定义连接对象
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,”输出教师信息” ‟关闭“输出教师信息”报表
第9章VBA的数据库编程
其中: fed 是字段对象变量。tbe 是表对象变量。name 是字段名。type 是字段的数据类型,要用英文字符表 示,如 dbText 表示文本型,dbInteger 表示整型。 size 表示字段大小。
User Error
表示数据库中的组。
表示使用数据库的用户信息。 包含使用DAO对象产生的错误信息。
9.2.2 DAO对象变量的声明和赋值
DAO 对象必须通过 VBA 程序代码来控制和操作。在代
码中,必须设置对象变量,然后再通过对象变量使用其下的对 象、或者对象的属性和方法。
1.对象变量的声明
同普通变量的声明一样,声明的关键字可以是 Dim、 Private、Public 等。 声明对象变量的语句格式: Dim 对象变量名 As 对象类型 例如: Dim wks As Workspace Dim dbs As Database „声明wks为工作区对象变量 „声明dbs为数据库对象变量
3.RecordSet 对象的常用属性和方法 RecordSet 对象代表一个表或查询中的所有 记录。RecordSet 对象提供了对记录的添加、
删除和修改等操作的支持。
RecordSet 对象的常用属性如表10-4所示。
RecordSet 对象的常用方法如表10-5所示。
表10-4 RecordSet对象的常用属性 属性 Bof Eof Filter RecordCount NoMatch 说明 若为 True,记录指针指向记录集的顶部(即 指向第一个记录之前)。
第09章 VBA数据库编程
第一节: VBA 常见操作第一考点 验证数据函数 P250一、 见书P250 例9.3:验证数据,取消不合法数据二、 BeforeUpdate 事件说明:文本框BeforeUpdate 事件:更新前事件,若设置为有参过程,则参数为真,文本框一直处于更新前状态,就是不更新,鼠标会一直在文本框中。
参数为假,结束更新前事件,会执行更新,文本框内容改为新内容三、 帮助验证的相关函数IsNumeric验证数据为数值,则返回值为ture IsDate验证数据为日期,则返回值为ture IsNull验证数据为空(无效数据),则返回值为ture IsEmpty验证数据为空(未初始化),则返回值为ture IsArray验证数据为数组,则返回值为ture IsError验证数据有错误,则返回值为ture IsObject 验证数据为对象,则返回值为ture第二考点 计时事件(timer )一、 见书 P251 例9.4:单击按钮控制计时二、 按钮控制技巧Private sub bok_click()Fage=not fage‘单击按钮后与单击按钮前fage 相反End sub 第三考点 鼠标和键盘事件处理一、 见书1、 鼠标事件 P254控件名_MouseDown (button as integer ,shift as integer , x as single , y as single )Button 参数:acLeftButton (左键)、acRightButton (右键)、acMiddleButton (中键) Shift 参数:作用:在按下鼠标的同时,按下键盘的哪个键控制键参数值:acShiftMask (shift 键)、acAltMask (alt 键)、acCtrlMask (Ctrl 键)2、 例9.6:Button 参数:判断按下鼠标的左、中、右键Private sbu form_MouseDown (Button as integer ,shift as integer ,X as singl ,Y as single ) If button=acLeftbutton thenMsgbox “你按下了鼠标的左键”End ifEnd sub3、例:Shift参数、Private sbu form_MouseDown(Button as integer,shift as integer,X as singl,Y as single)If button=acLeftbutton and shift =acctrlmask thenMsgbox “你按下了鼠标的左键和键盘的CTRL键”End ifEnd sub4、例:X参数、Y参数Private sbu form_MouseDown(Button as integer,shift as integer,X as singl,Y as single)If button=acLeftbutton and shift =acctrlmask thenMsgbox “你按下了鼠标的左键和键盘的CTRL键”& X & “,” &YEnd ifEnd sub第二节:ADO和DAO数据库编程一、数据库引擎P257是一组动态链接库(DLL),当程序运行时被连接到VBA程序而实现对数据库的数据访问功能,是应用程序与物理数据库之间的桥梁。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九章VBA数据库编程第一节VBA常见操作第二节VBA的数据库编程第一节VBA常见操作一、打开和关闭操作二、输入框(InputBox)三、消息框(MsgBox)四、VBA编程验证数据五、计时事件(Timer)一、打开和关闭操作1.打开窗体操作命令格式为:DoCmd.OpenForm 窗体名[,视图][,筛选名称][,Where条件][,数据模式][,窗口模式]有关参数说明如下:窗体名称:字符串表达式,代表窗体的有效名称。
视图:各种视图对应常量如下:设计视图acDesign ,数据表视图acFormDS,窗体视图(默认值)acNormal,打印预览acPreview2.打开报表操作命令格式为:DoCmd. OpenReport 报表名称[,视图][,筛选名称][,Where条件]报表名称:代表要打开的报表的有效名称,为字符串表达式。
视图:代表将要打开的报表的视图,各种视图对应常量如下:设计视图acViewDesign打印视图(默认值)acViewNormal打印预览acViewPreview3.打开表操作命令格式为:DoCmd.OpenTable表名[, 视图][, 数据模式]表名:代表要打开的表的有效名称,为字符串表达式,。
视图:代表将要打开的报表的视图,各种视图对应常量如下:设计视图acViewDesign数据表视图(默认值)acViewNormal打印预览acViewPreview4.打开查询操作DoCmd. OpenQuery查询名[, 视图][, 数据模式]5.关闭对象操作DoCmd.Close [对象类型, 对象名] [,保存]6.运行宏DoCmd.RunMacro MacroName[, repeatcount][, repeatexpression]7.退出Access程序DoCmd. Quit二、输入框(InputBox)格式:InputBox(提示信息[,标题][,字符表达式][,左边距][,上边距])说明:(1)用于接收用户从键盘上输入的数据;(2)函数返回值为从键盘上输入的数据,为字符串;(3)“提示信息”是显示在对话中用于提示用户输入的信息;(4)“标题”是对话框标题栏上显示的内容;(5)“字符表达式”是默认输入内容;(6)“左边距”是对话框距屏幕左边的距离;(7)“上边距”是对话框距屏幕上边的距离。
三、消息框(MsgBox)格式:MsgBox(消息[,样式][,标题])说明:(1)该函数用于显示操作提示或反馈消息,以提示用户做出反映;(2)“消息”是显示在对话框中的信息;(3)“样式”决定消息框内的按钮和图标的种类和数目,它是“按钮类型”、“图标类型”、“缺省按钮”3个数值之和。
①按钮类型第二节VBA数据库编程一、DAO技术二、ADO技术三、数据库编程分析四、数据库数据访问和处理时使用的特殊函数一、DAO技术DAO(数据访问对象)是VBA提供的一种数据访问接口,使用它可以灵活地访问数据库并进行各种操作。
1.DAO库的引用2.DAO模型结构3.使用方法1.DAO库的引用(1)打开VBE窗口;(2)选择“工具”菜单中的“引用”项;(3)在“引用”对话框中选择“Microsoft DAO 3.6 Object Library”并确定。
3.使用方法(1)创建工作区(2)打开数据库(3)选择记录集(4)浏览记录(5)操作记录(6)关闭和回收记录集与数据库(7)举例(1)创建工作区Dim 工作区变量As WorkspaceSet 工作区变量=DBEngine.Workspace(序号) 此步可省略,若省略则默认为打开0号工作区。
(2)打开数据库Dim 数据库变量As DatabaseSet 数据库变量=工作区变量.OpenDatabase(数据库名)若打开当前数据库,则前两步可用以下语句替代:Set 数据库变量=CurrentDB()(3)选择记录集Dim 记录集变量As RecordSetSet 记录集变量=数据库变量.OpenRecordSet(表名|查询名|SQL语句)(4)浏览记录通过记录集对象的相应属性和方法可实现记录的浏览。
访问字段:Fields(字段名|字段编号)注意:第一字段编号为0,以此类推。
记录定位:前移:MovePrevious后移:MoveNext首记录:MoveFirst尾记录:MoveLast记录n:Move n测试状态:文件首:BOF文件尾:EOF(5)操作记录编辑记录:Edit该方法使记录进入可编辑状态,之后可通过Fields(字段)属性编辑数据。
添加记录:AddNew该方法使记录进入追加状态,之后可将数据写入记录的对应字段属性中。
更新记录:Update编辑和添加的数据只是临时存放在缓冲区中,在接到更新命令后,才真正实现。
删除记录:Delete(6)关闭和回收记录集与数据库关闭:Close回收:记录集或数据库对象名=Nothing二、ADO技术DAO只能用于本地数据库连接,它没有远程连接能力。
ADO(活动数据对象)既能实现本地连接,也能实现远程连接,是一种替代DAO的数据库连接新技术。
1.ADO库的引用2.ADO模型结构3.使用方法1.ADO库的引用(1)打开VBE窗口;(2)选择“工具”菜单中的“引用”项;(3)在“引用”对话框中选择“Microsoft ActiveX Data Objects 2.1 Library”并确定。
3.使用方法程序段1:在Connection对象上打开RecordSet’创建对象变量Dim cn As new ADODB.Connection ’创建一个连接对象Dim rs As new ADODB.RecordSet ’创建一个记录集对象cn.Open <连接串等参数> ’打开一个连接rs.Open <查询串等参数> ’打开一个记录集Do While Not rs.EOF ’利用循环结构遍历整个记录集直至末尾……’安排字段数据的各种操作rs.MoveNext ’记录指针移至下一条Looprs.Close ’关闭记录集cn.Close ’关闭连接Set rs=Nothing ’回收记录集对象变量的内存占有Set cn=Nothint ’回收连接对象变量的内存占有三、数据库编程分析例:试编写子过程分别用DAO和ADO来完成对“教学管理.mdb”文件中“学生”表的学生年龄都加1的操作,假设文件存放在D盘“Access”文件夹中。
子过程1:使用DAOSub SetAgePlusl()‘定义对象变量Dim ws As DAO.Workspace ‘工作区对象Dim db As DAO.Database ‘数据库对象Dim rs As DAO.Recordset ‘记录集对象Dim fd As DAO.Field ‘字段对象‘注意:如果操作当前数据库,可用Set db=CurrentDb()来替换下面两条语句!Set ws=DBEngine.Workspaces(0)’打开0号工作区Set db=ws.OpenDatabase("D:\Access\教学管理.mdb")’打开数据库Set rs=db.OpenRecordset("学生")‘返回“学生”表记录集Set fd=rs.Fields("年龄")‘对记录集是用循环结构进行遍历Do While Not rs.EOFrs.Editfd=fd+1rs.Updaters.MoveNextLoop‘关闭并回收对象变量rs.Closedb.CloseSet rs=NothingSet db=NothingEnd Sub‘定义对象变量Dim ws As DAO.Workspace ‘工作区对象Dim db As DAO.Database ‘数据库对象Dim rs As DAO.Recordset ‘记录集对象Dim fd As DAO.Field ‘字段对象‘注意:如果操作当前数据库可用Set db=CurrentDb()来替换下面两条语句!Set ws=DBEngine.Workspaces(0)’打开0号工作区Set db=ws.OpenDatabase("D:\Access\教学管理.mdb")’打开数据库Set rs=db.OpenRecordset("学生") ‘返回学生表记录集Set fd=rs.Fields("年龄")‘对记录集是用循环结构进行遍历Do While Not rs.EOFrs.Editfd=fd+1rs.Updaters.MoveNextLoop‘关闭并回收对象变量rs.Closedb.CloseSet rs=NothingSet db=Nothing子过程2:使用ADOSub SetAgePlus2()‘创建或定义对象变量Dim cn As New ADODB.Connection ‘连接对象Dim rs New ADODB.Recordset ‘记录集对象Dim fd As ADODB.Field ‘字段对象Dim strConnect As String ‘连接字符串Dim strSQL As String ‘查询字符串‘注意:操作当前数据库,用Set cn=CurrentProject.Connection替换下面3条语句strConnect=" D:\Access\教学管理.mdb " ‘设置连接数据库cn.Provider="Microsoft.Jet.OLEDB.4.0 " ‘设置OLE DB数据提供者cn.Open strConnect ‘打开与数据源的连接strSQL="Select 年龄from 学生" ‘设置查询表rs.Open strSQL,cn,adOpenDynamic,adLockOpetim istic,adCmdText ‘记录集Set fd = rs.Fields("年龄")‘设置”年龄”字段引用‘对记录集是用循环结构进行遍历Do While Not rs.EOFfd = fd +1 ‘年龄加1rs.Update ‘更新记录集,保存年龄值rs.MoveNext ‘记录指针移动至下一条Loop‘关闭并回收对象变量rs.Closecn.CloseSet rs=NothingSet cn=NothingEnd Sub‘创建或定义对象变量Dim cn As New ADODB.Connection ‘连接对象Dim rs New ADODB.Recordset ‘记录集对象Dim fd As ADODB.Field ‘字段对象Dim strConnect As String ‘连接字符串Dim s trSQL As String ‘查询字符串‘注意:操作当前数据库,用Set cn=CurrentProject.Connection替换下面3条语句strConnect=" D:\Access\教学管理.mdb " ‘设置连接数据库cn.Provider="Microsoft.Jet.OLEDB.4.0 " ‘设置OLE DB数据提供者cn.Open strConnec t ‘打开与数据源的连接strSQL="Select 年龄from 学生" ‘设置查询表rs.Open strSQL,cn,adOpenDynamic,adLockOpetimistic,adCmdText ‘记录集Set fd = rs.Fields("年龄")‘设置”年龄”字段引用‘对记录集是用循环结构进行遍历Do While Not rs.EOFfd = fd +1 ‘年龄加1rs.Update ‘更新记录集,保存年龄值rs.MoveNexr ‘记录指针移动至下一条Loop‘关闭并回收对象变量rs.Closecn.CloseSet rs=NothingSet cn=Nothing四、数据库数据访问和处理时使用的几个特殊函数:1.空值转换函数(Nz)2.DCount函数,DAvg函数和DSum函数DCount(表达式,记录集[,条件式])DAvg(表达式,记录集[,条件式])DSum(表达式,记录集[,条件式])=DCount(“教师编号","教师","性别=’女’ ")=DAvg("年龄","学生")3.DMax函数和DMin函数DMax(表达式,记录集[,条件式])DMin(表达式,记录集[,条件式])=DMax("年龄","学生","性别=‘男’")4.DLookup函数DLookup(表达式,记录集[,条件式])本章考点1.VBA中DoCmd对象的常见操作;2.输入框函数和消息框函数的调用;3.DAO与ADO技术的应用;4.数据库函数的使用。