VBA数据库解决方案第七讲:如何利用Recordset对象打开数据库的数据记录集

《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA数据库解决方案第七讲:如何利用Recordset对象打开数据库的数据记录集

a114ee56fe61e4254af7edd22a769016.jpeg

【分享成果,随喜正能量】不要把别人对你的好,当做理所当然。别人不需要你感谢,并不意味你不需要心存感激。。

第七讲 如何利用Recordset对象打开数据库的数据记录集

我们上一讲讲了Recordset 对象的一些属性、方法和事件。我们今日继续讲解Recordset 对象的相关知识,如何利用Recordset对象打开数据库的数据记录集合。

在讲解之前,我们还要补充些必要的知识点:

12d999720990ca7a5e561f5808b19761.jpeg

1Recordset 对象的更新和访问

1.1 Recordset 对象能够支持两种更新类型

① 立即更新,一旦调用 Update 方法,所有更改被立即写入数据库。

② 批更新,provider 将缓存多个更改,然后使用 UpdateBatch 方法把这些更改传送到数据库。

1.2 另外在访问记录的时候,ADO定义了 4 中不同的游标(指针)类型

① 动态游标 :允许您查看其他用户所作的添加、更改和删除

② 键集游标 :类似动态游标,不同的是您无法查看有其他用户所做的添加,并且它会防止您访问其他用户已删除的记录。其他用户所做的数据更改仍然是可见的。

③ 静态游标 :提供记录集的静态副本,可用来查找数据或生成报告。此外,由其他用户所做的添加、更改和删除将是不可见的。当您打开一个客户端 Recordset 对象时,这是唯一被允许的游标类型。

④ 仅向前游标: 除仅允许在记录中向前滚动之外,其行为类似静态游标。这样,当需要在 Recordset 中单程移动时就可提高性能。

1.3为什么要设计这四个游标类型呢?

这就是搭建数据库的良苦用心,这四种类型也就是客户访问数据库的不同类型,或者称之不同的权限,有的是完全所有权权限访问的,任何访问都可以享用,有的只是拥有部分权限,这要依据用户的性质来决定你所享受的权限了。当然这点和VBA的联系还不是十分的密切,只是讲到数据库和大家顺带说一下。

2 ADO三个对象间的相互联系

2.1 Command对象和Recordset对象依赖于Connection对象的连接;

2.2Command对象结合SQL命令可以取代Recordset对象,但远没有Recordset对象灵活、实用;

2.3Recordset对象它只能实现数据表内记录集操作.记录集(Recordset):对表执行查询操作时,返回的一组特定记录。

b4c51e51ad95beda10ad370aa72817cf.jpeg

3打开一个Recordset记录集

一定要清楚,打开记录集前要连接数据库,连接Connection请参考上一讲内容;

Dim cnADO As New ADODB.Connection

   Dim strPath As String

   strPath = ThisWorkbook.Path & "\mydata.accdb"

   cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath

在打开记录集前还要做的工作有:声明Recordset对象,创建Recordset对象

 Dim rsZYS As ADODB.Recordset

 Set rsZYS = New ADODB.Recordset

 rsZYS.Open "职员表", cnADO, 1, 3

 MsgBox rsZYS.RecordCount

 rsZYS.Close

 cnADO.Close

 Set rsZYS = Nothing

Set cnADO = Nothing

所有代码:略

代码截图:

6c7862581c18dafaa344accaec5eb3b4.jpeg

代码解读:

① rsZYS.Open "职员表", cnADO, 1, 3以上代码是打开记录集,。

② MsgBox rsZYS.RecordCount 弹出对话框,提示职员表的信息个数

③ rsZYS.Close

cnADO.Close

  以上代码关闭记录集和数据库的连接,注意要先关闭记录集,再关闭连接,和打开的顺序是相反的。

④ Set rsZYS = Nothing

Set cnADO = Nothing

以上代码释放内存,

运行后会弹出记录数:(数据库内记录行数)

ce4b098c80f08ec724d59c4f7601c1cd.jpeg

这节的内容是我们开始进入数据库内部的操作了,大家不要急,要慢慢来,我数据库的讲解是循序渐进的。

今日内容回向:

1 Recordset 对象 有几种更新方式?

2 Recordset 对象 如何打开记录集?

本讲内容参考程序文件:VBA与数据库操作(第一册).xlsm

2f13b37d0ef7ccd9dec3aa09a9bf3064.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

065e491a93139ddc6a2cdbe2436b6207.jpeg


1e98b268908b58a78a69fe06ed193e3a.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/192968.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信而泰 SSL测试方法介绍

[本文介绍在ALPS平台上进行SSL测试的内容和方法] 什么是SSL SSL全称是Secure Sockets Layer,指安全套接字协议,为基于TCP的应用层协议提供安全连接;SSL介于TCP/IP协议栈的第四层和第五层之间,广泛用于电子商务、网上银行等。 SSL…

SQL数据库知识点总结

前后顺序可以任意颠倒,不影响库中的数据关系 关系数据库的逻辑性强而物理性弱,因此关系数据库中的各条记录前后顺序可以任意颠倒,不影响库中的数据关系 一名员工可以使用多台计算机(1:m),而一…

深入了解c语言中的结构体

介绍: 在C语言中,结构体是一种用户自定义的数据类型,它允许我们将不同类型的数据组合在一起,形成一个更为复杂的数据结构。结构体可以用来表示现实世界中的实体,如人员、学生、图书等。本篇博客将介绍结构体的基本概念…

2023版本idea插件开发踩坑记录(一)

在进行idea开发的时候,开始仿照着写第一个插件hello world的时候,运行的时候一直运行不成功。参考了很多博客都是如此 后面对官方文档读了一遍,就发现其中的原委,这个的话估计会有很多人跟我一样踩坑 具体原因是,idea插…

python之pyqt专栏11-事件(QEvent)

QApplication.exec() 在main.py中,实例化app对象,然后在 sys.exit(app.exec())中调用app.exec(), if __name__ __main__:# 实例化应用app QApplication(sys.argv)# 实例化MyMainFormmyw MyMainForm()myw.show()# 启动应用程序的事件循环并…

selenium使用记录

本文记录python环境下使用selenium的一些步骤 Step1:安装并配置驱动 pip install selenium # 使用pip在对应python中安装selenium包为了让selenium能调用指定的浏览器,需要下载对应浏览器的驱动程序(这里以edge为例子) #Firefo…

Git 分支详解

目录 1. Git 分支管理 2. 如何自己创建分支? 3. 创建分支修改内容,之后合并到主分支 4. 删除分支 5. 出现 merge 冲突如何解决 6. 分支策略 前言 之前只是知道有 master 分支这个东西,但是具体是啥意思还是不知道,今天详…

卫星影像数据查询网址(WORLDVIEW1/2/3/4、PLEIADES、SPOT系列、高景、高分1-7、资源系列、吉林一号等)

商业卫星影像数据查询网址(WORLDVIEW1/2/3/4、PLEIADES、SPOT系列、高景、高分1-7、资源系列、吉林一号等) 1、资源卫星应用中心 网址:http://www.cresda.com/CN/ 可查询国产高分1、2、3、4、5、6、7号卫星,资源三号、资源三号…

用HeidiSQL在MySQL中新建用户

用HeidiSQL登录到MySQL数据库,注意登录的时候要使用有权限的用户: 选择工具-》用户管理: 点击左上角的“添加”: 输入用户名、密码,并且分配权限: 点击右边的“添加对象”: 可以根据自己…

系统托盘区句柄研究和C#基本托盘编程

因为我的系统托盘区小图标有时候会不可见,在还是在; 研究一下系统托盘区的句柄,是否每个小图标是一个单个窗口,就像form的button一样; 下图句柄工具,把问号拖动到窗口上,就会显示该窗口的句柄和窗口类等信息; 拖到系统托盘区看一下;拖到任何一个小图标上面,都只显示…

使用VC++设计程序实现K近邻中值滤波器(KNNMF)、最小均方差滤波器、矢量中值滤波算法进行滤波

VC实现若干种图像滤波技术2 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章: 01- 一元熵值、二维熵值 02- 图像平移变换,图像缩放、图像裁剪、图像对角线镜像以及图像的旋转 03-邻域平均平滑算法、中值滤波算法、K近邻均值滤波器 …

【Flink】容错机制

目录 1、检查点 ​编辑1.1 检查点的保存 1.1.1 周期性的触发保存 1.1.2 保存的时间点 1.1.3 时间点的保存与恢复 1.1.3.1保存 ​编辑 1.1.3.2 恢复的具体步骤: 1.2 检查点算法 1.2.1 检查点分界线(Barrier) 1.2.2 分布式快照算法(Barrier对齐的精准一次) 1.2.…

HTML简介

1,网页 网页的相关概念 1.1,什么是网页? 网页是构成网站的基本元素,它通常由图片,链接,文字,声音,视频等元素组成。其实就是一个常见以.htm或.html后缀结尾的文件,因此…

页面表格高度自适应

前言 现在后端管理系统主页面基本都是由三部分组成 查询条件,高度不固定,可能有的页面查询条件多,有的少表格,高度不固定,占据页面剩余高度分页,高度固定 这三部分加起来肯定是占满全屏的,那么我…

零基础上手,秒识别检测,IDEA研究院发布全新T-Rex模型

目标检测作为当前计算机视觉落地的热点技术之一,已被广泛应用于自动驾驶、智慧园区、工业检测和卫星遥感等场景。开发者在研究相关目标检测技术时,通常需熟练掌握图像目标检测框架,如通用目标检测框架 YOLO 系列,旋转目标检测框架…

『Nginx安全访问控制』利用Nginx实现账号密码认证登录的最佳实践

📣读完这篇文章里你能收获到 如何创建用户账号和密码文件,并生成加密密码配置Nginx的认证模块,实现基于账号密码的登录验证 文章目录 一、创建账号密码文件1. 安装htpasswd工具1.1 CentOS1.2 Ubuntu 二、配置Nginx三、重启Nginx 在Web应用程…

SpringAMQP入门案例——发送消息

依赖 <!--SpringAMQP起步依赖--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> yml配置文件 自行修改 spring:rabbitmq:host: 192.168.220.130 # …

CyclicBarrier实战应用——批量数据多线程协调异步处理(子线程执行事务回滚)

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; CountDownLatch实战应用——批量数据多线程协调异步处理(子线程执行事务…

【源码篇】基于SpringBoot+thymeleaf实现的大学生自习室座位预定系统

文章目录 系统介绍管理员学生 技术选型成果展示账号地址及其他说明 系统介绍 基于SpringBootthymeleaf实现的大学生自习室座位预定系统是为座位管理打造的一款在线管理平台&#xff0c;它可以实时完成信息处理&#xff0c;使其系统化和规范化。 系统功能说明 管理员 1、用户…

误用STM32串口发送标志位 “USART_FLAG_TXE” “USART_FLAG_TC”造成的BUG

当你使用串口发送数据时是否出现过这样的情况&#xff1a; 1.发送时第一个字节丢失。 2.发送时出现莫名的字节丢失。 3.各种情况字节丢失。 1.先了解一下串口发送的流程图&#xff08;手动描绘&#xff09;&#xff1a; 可以假想USART_FLAG_TXE是用于检测"弹仓"&…