vba ado返回集合_VBA与数据库ADO连接方式中,三种主要对象的讲解

本文详细介绍了VBA中与数据库交互的ADO对象,包括Connection对象、Command对象和重点讲解的Recordset对象。Recordset对象是存储访问表和查询对象返回的记录集合,具备浏览、修改、添加和删除记录等功能。文中列举了Recordset对象的常见属性、方法和事件,为实际操作数据库奠定了基础。
摘要由CSDN通过智能技术生成

大家好,今日继续讲解VBA与数据库的知识,在上几讲的内容中我们对数据库有了一个大概的了解,同时我们也清楚了连接数据库的不同方式,并对各个连接方式加以比较。今日的内容是深入的理解ADO与数据连接后的一些知识的准备.连接好数据后我们要进行的操作将更为具体。

在之前的讲解中,我一直在提ADO,ADO是DAO的后继产物。相比DAO,ADO扩展了DAO使用的层次对象模型,用较少的对象、更多的方法和事件来处理各种操作,简单易用,是当前数据库开发的主流技术。那么,ADO涉及到的对象都有哪些呢?今日我们就来深入的讲解.或许你之前看过数据库的一些文章,或者你是数据库的高手,但还是要理解或者了解到一些必要的知识.

73f45e8ad09e1816c4a97d47b59c56bd.png

一Connection对象:是ADO对象模型中最高级的对象,这个对象实现了应用程序与数据源的连接。在上一讲和之前的内容中着重讲了如何实现的这个连接的问题.

二 Command对象:这个对象的主要作用是在VBA中通过SQL语句访问、查询数据库中的数据。

那么,什么是SQL 语句呢?这个词是英语Structured Query Language的首字母写法,翻译过来就是结构化查询语言,结构化查询语言是一种数据库查询和程序设计语言,可以用于存取数据以及查询、更新和管理关系数据库系统。

那么什么是结构化呢?所谓结构化,就是格式固定:

如:"select 表1.字段,表2.字段,表3.字段from 表名1,表名2,表名3...where 条件group by 字段order by 字段".就要一段结构化的查询语句,非常易学,好记忆.

ed861ce7bd07bbe460912ea9fbab5600.png

三 Recordset对象:这个对象是这讲要讲的重点,他是存储访问表和查询对象返回的记录集合。使用该对象,可以浏览记录、修改记录、添加新的记录或者删除特定的记录。Recordset对象的功能是最常用、最重要的,我们在以后的代码中也是主要使用这个对象来完成我们的一些需求.

所有Recordset对象均使用记录(行)和字段(列)进行构造。具有其特定的属性和方法,使用ADO时,通过Recordset对象,利用这些属性和方法就可以编程处理数据库中的记录。

可对几乎所有数据进行操作。用这个记录集可执行的操作有:对表中的数据进行查询和统计,在表中添加、更新或删除记录。下面要将一下Recordset对象常见的属性、方法、和事件,(如果对属性、方法、事件着三个词语不理解的请赶快查看我的第一部作品《VBA代码解决方案》中的相关内容,我的作品的风格是一样的,最好能连续的学习)

(一)Recordset对象一些常见的属性:

1 BOF如果当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。

2 EOF如果当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。

3 Index设置或返回 Recordset 对象的当前索引的名称。

4 RecordCount返回一个 Recordset 对象中的记录数目。

5 Source设置一个字符串值,或一个 Command 对象引用,或返回一个字符串值,此值可指示 Recordset 对象的数据源。

(二)Recordset对象一些常见的方法

1 AddNew创建一条新的记录。

2 Cancel撤销一次执行。

3 Close关闭一个 Recordset。

4 Delete删除一条记录或一组记录。

5 Find搜索一个 Recordset 中满足指定某个条件的一条记录。

6 Move在 Recordset 对象中移动记录指针。

7 MoveFirst把记录指针移动到第一条记录。

8 MoveLast把记录指针移动到最后一条记录。

9 MoveNext把记录指针移动到下一条记录。

10 MovePrevious把记录指针移动到上一条记录。

11 NextRecordset通过执行一系列命令清除当前 Recordset 对象并返回下一个 Recordset。

12 Update保存所有对 Recordset 对象中的一条单一记录所做的更改。

13 Save把 Recordset 对象保存到 file 或 Stream 对象中。

14 UpdateBatch把所有,Recordset,中的更改存入数据库,请在批更新模式中使用

(三)Recordset对象的事件

1 EndOfRecordset当试图移动到超过,Recordset,结尾的行时被触发

2 RecordChangeComplete一条记录更改之后被触发

09670d22015486632e1e58806893e34b.png

好了,今日就讲到这里,下一讲还将接着讲解Recordset 对象,会离我们的实际操作越来越近了,但大家还是不要急,要弄懂必要的知识点,哪怕只是了解些,再慢慢的熟悉。数据库是数字化的产物,虽然他的问世时间还不是很长,最多也不过六、七十年的时间,但他的积累却是几何级数的,特别是上个世纪90年代之后,随着各种算法的实现,数据库的利用会越来越多。

今日内容回向:

1 ADO 中的主要对象有哪些?

2 你是否清楚,操作一个数据库要有哪些必要的步骤呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值