当前位置: 首页 > news >正文

第六讲:VBA与ACCESS的ADO连接中,所涉及的对象

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

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:第六讲:VBA与ACCESS的ADO连接中,所涉及的对象

984e94883c11d5d0c266e6f709bf1e24.jpeg

【分享成果,随喜正能量】身心是我们修行的代表,你是不是真修行,修得怎么样,一看你的相、看你的身体就知道了。你的功夫就在你脸上、就在你行为上,你怎么能骗人?。

第六讲 VBA与ACCESS的ADO连接中,所涉及的对象

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

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

4761fb87b95334c38685751e024b83fa.jpeg

1Connection对象

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

2 Command对象

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

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

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

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

39b2c902e2d0b3864cfc9a3318c02caa.jpeg

3 Recordset对象

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

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

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

3.1 Recordset对象一些常见的属性:

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

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

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

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

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

3.2 Recordset对象一些常见的方法

3.2.1 AddNew创建一条新记录。

3.2.2 Cancel撤销一次执行。

3.2.3 Close关闭一个 Recordset。

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

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

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

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

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

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

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

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

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

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

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

3.3 Recordset对象的事件

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

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

7064e651ff366c9e916e75172760085e.jpeg

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

e3543935111b0701d4089b512785416c.jpeg

今日内容回向:

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

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

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

13a0394316ee3ef4e4f1df9931a80bb4.jpeg

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

3549217424fee69025e032da95ace79e.jpeg


db317dc1412e7f75d5a104feb8385615.jpeg

相关文章:

第六讲:VBA与ACCESS的ADO连接中,所涉及的对象

《VBA数据库解决方案》教程(10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实…...

【计算机网络】同源策略及跨域问题

1. 同源策略 同源策略是一套浏览器安全机制,当一个源的文档和脚本,与另一个源的资源进行通信时,同源策略就会对这个通信做出不同程度的限制。 同源策略对 同源资源 放行,对 异源资源 限制。因此限制造成的开发问题,称…...

uniapp在APP端使用swiper进行页面不卡顿滑动

uniapp在APP端使用swiper进行页面会卡顿&#xff0c;主要是渲染的数据有点多&#xff0c;这里只渲染三个数据就不好那么卡顿了&#xff0c;每次滑动后更新数据 <view><swiper change"changePoint" circular :disable-touch"disableTouch"><…...

遗憾

《遗憾》 文&#xff0f;罗光记 岁月匆匆如梦过&#xff0c; 回首往事泪沾裳。 遗憾犹存心深处&#xff0c; 青春岁月已成伤。...

hustoj 平台

1.大部分功能和选项的开关和参数调整都在配置文件中&#xff0c;安装后几个重要配置文件的位置如下&#xff1a; /home/judge/etc/judge.conf #判题judged/judge_client /home/judge/src/web/include/db_info.inc.php #Web debian-sys-maint gdfNPYOdITxtDEK1 修改MySQl管…...

如何使用Scrapy提取和处理数据

目录 一、安装和设置Scrapy 二、创建爬虫 三、提取数据 四、处理数据 五、存储数据 六、进阶操作 七、注意事项 总结 Scrapy是一个强大且灵活的Python库&#xff0c;用于创建网页爬虫&#xff0c;提取和处理数据。本文将为您深入讲解如何使用Scrapy进行数据处理&#x…...

拟合与过拟合

拟合跟过拟合 过拟合&#xff1a;将泛化误差分解为偏差跟方差 偏差&#xff1a;学习者不断学习相同错误事物的倾向 方差&#xff1a;学习随机信号而不考虑真实情况的趋势 过拟合:所建的机器学习模型或者深度学习模型在训练样本中表现得过于优越&#xff0c;导致测试数据集表现…...

科学化决策数据分析,先从量化开始

在当今信息爆炸的时代&#xff0c;数据已经成为我们生活和工作中不可或缺的一部分。在各行各业&#xff0c;人们越来越依赖数据来指导决策和优化业务。在这个背景下&#xff0c;量化成为了一种重要的方法论&#xff0c;通过收集、分析和解读数据&#xff0c;为我们提供了更准确…...

使用Docker搭建一个“一主两从”的 Redis 集群(超详细步骤)

目录 1、Redis 单机版安装1.1 拉取 Redis1.2 创建数据卷目录1.3 修改 redis.conf1.4 启动 Redis 容器1.5 进入容器连接 Redis 2、Redis 一主两从集群搭建2.1 复制三份 redis.conf2.2 启动 master2.3 启动 两个redis slave2.4 三者关系查看2.5 数据测试 1、Redis 单机版安装 1.…...

阿里云盘第三方linux客户端“小白羊”云盘“Aria2本地连接已断开”错误的解决方法

简介 随着数据的不断增长&#xff0c;我们需要更大的存储空间来保存我们的信息。阿里云盘是阿里巴巴推出的一款云存储服务&#xff0c;它提供了大量可扩展的存储空间。然而&#xff0c;阿里云盘官方没有提供Linux操作系统的客户端。 在这种情况下&#xff0c;“小白羊”云盘…...

Linux flock和fcntl函数详解

文章目录 flock函数描述返回值和错误码笔记 fcntl函数描述复制文件描述符文件描述标志文件状态标志 咨询锁强制锁管理信号租赁文件和目录变更通知改变管道容量 返回值错误备注遗留问题 flock函数 主要功能是在已打开的文件应用或者删除共享锁或者独占锁。sys/file.h声明了这个…...

React 组件点击事件

点击事件 点击事件方式1、传统类方法&#xff08;不推荐&#xff09;2、传统类方法 16.3.0 - 自动绑定&#xff08;不推荐&#xff09;3、箭头函数3.1、类组件3.2、函数组件3.3、内联箭头函数 4、useState Hook 点击事件方式 1、传统类方法&#xff08;不推荐&#xff09; 当…...

Windows 下编译 TensorFlow 2.9.1 CC库

参考 Intel 的 tensorflow 编译指导&#xff0c;不过项目还是可以用 TF原本的&#xff0c;不是一定要选择Intel 的TF版本。 安装 MSVC 2019 安装 Intel OneDNN OneMKL 似乎也可以不安装 ( & ) https://www.intel.cn/content/www/cn/zh/developer/articles/tool/one…...

Databricks 入门之连接外部数据库

连接方式应该很多&#xff0c;现在记录本人目前学习到的一种方式。 一、读取外部数据库 1.notebook执行语言为sql时可以通过JDBC方式加载数据库数据。 以下代码将可以将sqlserver中的表加载到databricks视图中&#xff0c;当然也可创建表来接收外部数据。 %sqlCREATE TEMPOR…...

家庭互动新维度:TikTok的亲子体验

在数字时代&#xff0c;家庭互动的方式正在发生翻天覆地的改变。社交媒体平台TikTok崭露头角&#xff0c;不仅在年轻用户中广受欢迎&#xff0c;还为家庭带来了全新的互动维度。本文将深入探讨TikTok如何成为家庭互动的新元素&#xff0c;以及它如何改变亲子体验。 TikTok&…...

redis教程 一 redis中的常用命令

文章目录 redis常见命令Redis数据结构介绍redis通用命令String类型String的常见命令Key结构 Hash类型List类型Set类型SortedSet类型 redis常见命令 Redis数据结构介绍 Redis是一个key-value的数据库&#xff0c;key一般是String类型&#xff0c;不过value的类型多种多样&…...

【第28例】IPD体系进阶 | 需求管理:需求实现过程

目录 简介 内容详解 CSDN学院相关推荐 作者简介 简介 继续 IPD 体系中的需求管理相关的专题。 先来看看整个需求管理涉及的过程内容: 需求管理流程主要包含五个阶段: 需求收集; 需求分析; 需求分发/分配;...

聊聊我对AI Agents技术的一些看法

小伙伴们&#xff01;我来兑现承诺啦&#xff5e; ps&#xff1a;接下来期待什么内容&#xff0c;欢迎在评论区留言&#xff01; 今天&#xff0c;我们就来聊聊大模型 Agent。 最近这几个月&#xff0c;Agent 这一概念可谓火出天际&#xff0c;从 AutoGPT 一周 6 万 star 刷新…...

32 mysql in 的实现

前言 这里我们主要是来探讨一下 mysql 中 in 的使用, find_in_set 的使用 这两者 在我们实际应用中应该也是 非常常用的了 测试数据表如下 CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(16) DEFAULT NULL,field2 varchar(16) DEFAU…...

Qt QtCreator添加自定义注释

在写代码的时候我们为了规范化&#xff0c;一般会加文件注释、类注释和函数注释&#xff1b;用注释来说明我们的代码&#xff0c;也方便模块化开发&#xff0c;那么我们在写注释的时候经常会写一些重复的内容&#xff0c;我们会复制粘贴。这样一来二去&#xff0c;就显得很繁琐…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)

这是系统中断服务程序的默认处理汇编函数&#xff0c;如果我们没有定义实现某个中断函数&#xff0c;那么当stm32产生了该中断时&#xff0c;就会默认跑这里来了&#xff0c;所以我们打开了什么中断&#xff0c;一定要记得实现对应的系统中断函数&#xff0c;否则会进来一直循环…...