数组与字典解决方案第三十讲:如何将记录集的数据记入数组 - 详解

news/2025/10/29 10:35:44/文章来源:https://www.cnblogs.com/gccbuaa/p/19173631

《VBA数组与字典方案》教程(10144533)是我推出的第三套教程,目前已经是第二版修订了。这套教程定位于中级,字典是VBA的精华,我要求学员必学。7.1.3.9教程和手册掌握后,可以消除大多数工作中遇到的实际困难。

这套字典教程共两册,一共八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:数组与字典解决方案第三十讲:如何将记录集的数据记入数组

【分享成果,随喜正能量】281 工作中,不做伸手党,遇到障碍自己先想办法,要锻炼自己思考的能力。问别人只是为了优化自己的答案。领导交代的工作,做之前先问清楚和领导确认一遍,这样做事有清晰的目标,有反馈。这样才能做得更好。

第三十讲 如何将记录集的数据记入数组

大家好,今日继续讲VBA数组与字典解决方案,今日讲解第30讲内容,记录集的数据,如何记入数组。这讲的内容涉及到数组在数据库中的应用,数组在EXCEL及其接口脚本中的应用中有着不可替代的角色,利用好了,允许给自己的工作表处理和VBA数据处理带来很大的方便。

1 应用场景的具体分析

今日实例:在数据库中有如下的数据:

我要做的是打开这个数据库,然后把内容先存到一个数组中,最后在工作表中体现出来。

2 应用场景的代码完成及代码解读

代码如下:

Sub mynzUpdateRecords_30() '将数据记录存入数组的方案

Dim cnADO As Object, rsADO As Object, Fdsarr, arr

Dim strPath As String, strTable As String, strSQL As String, strMsg As String

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.Recordset")

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

strTable = "员工信息"

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

'汇报给用户记录数

strSQL = "SELECT * FROM " & strTable

rsADO.Open strSQL, cnADO, 1, 3

Fdsarr = Array("员工编号", "姓名", "性别", "民族", "部门", "职务", "电话", "出生日期") '字段名

arr = Application.Transpose(rsADO.GetRows(, 1, Fdsarr)) '记录存入数组

For X = 1 To UBound(arr)

Cells(X + 1, 1).Resize(1, 8) = Application.Index(arr, X, 0)

Next

rsADO.Close

'释放内存

cnADO.Close

Set rsADO = Nothing

Set cnADO = Nothing

End Sub

代码截图:

代码讲解:

  1. Fdsarr = Array("员工编号", "姓名", "性别", "民族", "部门", "职务", "电话", "出生日期") '字段名

Arr = Application.Transpose(rsADO.GetRows(, 1, Fdsarr)) '记录存入数组

这里利用了一个方法:rsADO.GetRows(, 1, Fdsarr)

GetRows方法:此方法传回一个二维的数组,每一行对应Recordset中的一笔记录,且每一列对应到记录中的字段。

此方法的语法如下:varArray = rs.GetRows([Rows], [Start], [Fields])

参数:

  1. Rows是要读取记录的数量;假如想要取得Recordset所有记录,可用-1或省略此参数。
  2. 下列列举常数中的一个:0-adBookmarkCurrent(目前记录)、1-adBookmarkFirst(第一笔记录)、或2-adBookmarkLast(最后记录)。就是Start 是指出第一个被读取记录的书签;也可以
  3. Fields 是可选择的栏位名称字段,其用来限制要读取的资料量。(也可指定单一字段名称、单一栏位索引、或者一个栏位索引阵列)。

2) For x = 1 To UBound(Arr)

Cells(x + 1, 1).Resize(1, 8) = Application.Index(Arr, x, 0)

Next

上面的过程中也用到了一个函数Index(Arr, x, 0),是调用工作表函数index。INDEX 返回列表或数组中的元素值,此元素由行序号和列序号的索引值给定。

INDEX 函数有两种语法形式:数组和引用。数组形式通常返回数值或数值数组,引用形式通常返回引用。

当函数 INDEX 的第一个参数为数组常数时,使用数组形式。

语法:数组形式INDEX(array,row_num,column_num)

参数:

① Array 为单元格区域或数组常量。

② 如果数组只包含一行或一列,则相对应的参数 row_num 或 column_num 为可选。

如果数组有多行和多列,但只启用 row_num 或 column_num,函数 INDEX 返回数组中的整行或整列,且返回值也为数组。

③ Row_num 数组中某行的行序号,函数从该行返回数值。倘若省略 row_num,则必须有Column_num。

④ Column_num 数组中某列的列序号,函数从该列返回数值。如果省略 column_num,则必须有 row_num。

特别说明:

① 如果同时启用 row_num 和 column_num,函数 INDEX 返回 row_num 和 column_num 交叉处的单元格的数值。

② 假如将 row_num 或 column_num 设置为 0,函数 INDEX 则分别返回整个列或行的数组数值。Row_num 和 column_num 必须指向 array 中的某一单元格;否则,函数 INDEX 返回错误值 #REF!。

例:=INDEX(A2:B3,2,2) 返回单元格区域的第二行和第二列交叉处的值;

=INDEX(A2:B3,2,1) 返回单元格区域的第二行和第一列交叉处的值。

下面看我们程序的运行结果:

今日内容回向:

1 如何把记录集传递给数组?

2 GetRows 和 INDEX 是否理解呢?

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



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

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

相关文章

2025年旗台石栏杆制造企业权威推荐榜单:旗台座栏杆 /汉白玉旗台/汉白玉栏杆旗台源头厂家精选

在石雕艺术与建筑装饰领域,这四家标杆企业以精湛工艺与创新设计引领着旗台石栏杆行业的发展方向。 在建筑装饰与园林景观领域,旗台石栏杆作为兼具功能性与艺术性的重要构件,其品质优劣直接关系到工程项目的整体效果…

2025年知识管理系统推荐:几款融合AI能力的智能知识库全面对比

2025年知识管理系统推荐:几款融合AI能力的智能知识库全面对比“小李,新来的实习生问你咱们项目的API鉴权机制文档在哪,你找找?” 那天下午,技术主管突然给我抛来这个问题。我心头一紧——这文档上次更新还是半年前…

2025 年机箱机柜厂家最新推荐榜,技术实力与市场口碑深度解析含 Q235/304 不锈钢 / 5052 铝等多材质优质品牌

引言 在数字化与工业化融合加速的背景下,机箱机柜作为设备防护核心载体,其品质直接影响数据中心、工业控制等场景的运行稳定性。据电子设备工业协会 2025 年 Q3 测评数据显示,国内机箱机柜市场品牌超 800 家,但通过…

️为什么越来越多企业从Web转向桌面端?兰亭妙微解读QT界面的复兴

️为什么越来越多企业从Web转向桌面端?兰亭妙微解读QT界面的复兴从能用,到好用:小程序进化的关键一步 在数字化浪潮中,小程序已然成为企业连接用户的关键桥梁。起初,小程序只要 “能用”,能实现基本功能,满足用…

2025年电厂标牌厂家权威推荐榜单:腐蚀标牌 /反光标牌/丝印标牌源头厂家精选

随着我国电力基础设施建设的持续投入,电厂标牌市场需求稳步增长,其中防腐、反光和丝印标牌已成为保障电力设施安全运行的关键产品。 据行业数据显示,2025年中国电力设施标牌市场规模预计将达到87亿元,年均增长率保…

2025 年同声传译 APP 推荐:翻译鸥AI 智能同传、视频与图片翻译工具详解,多场景适配的高性价比之选

行业背景 全球化深入与数字经济发展推动跨语言沟通需求爆发式增长,2024 年中国同声传译软件行业市场规模达 76.8 亿元,预计 2025 年将攀升至 94.3 亿元,商务会议、在线教育等场景占比超 68%。但传统解决方案痛点显著…

深入解析:[UnrealEngine] 虚幻引擎UE5地形入门指南 | UE5地形教程(UE5 Terrain)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年酒店桌布厂家最新推荐榜,技术实力与市场口碑深度解析

引言 桌布作为酒店餐饮空间的核心布艺单品,其品质直接影响宾客体验与运营成本。为破解市场同质化、功能不达标等痛点,中国纺织品商业协会联合第三方检测机构开展 2025 年度酒店桌布品牌测评,覆盖 32 家主流品牌的 1…

Apache SeaTunnel 9 月动态:多模块修复 + 新功能上线,社区贡献成果亮眼

本月,社区 21 位贡献者共同参与了 Apache SeaTunnel 的修复与功能升级,助力数据同步能力提升。各位热爱 Apache SeaTunnel 的小伙伴们,社区 9 月份月报来啦! 本月,社区 21 位贡献者共同参与了 Apache SeaTunnel 的…

ssh 连接服务失败

主要是新安装使用的最容易忽略的问题,就是端口的开启(22) 一般安装之后是直接使用的,这个也没问题,但是如果自己的端口没有开启,其他用户是不能ssh连接登录的, 所以经常会出现这个用户可以连接登录其他其他用户…

2025年新疆旅游公司权威推荐榜单:阿勒泰旅游/新疆旅游线路/喀纳斯旅游服务商精选

据新疆维吾尔自治区文化和旅游厅数据统计,2024年新疆接待游客总量突破2.5亿人次,同比增长超过30%。 然而同期旅游投诉量同比上升15%,其中强制购物、临时加价、行程缩水等问题占比高达62%。 游客对高品质旅游服务的需…

Git常用命令的详细指南

一、仓库基础操作命令 作用 示例git init 初始化新仓库 git init projectgit clone 克隆远程仓库 git clone https://github.com/user/repo.gitgit status 查看工作区状态 git status -s(简洁模式)二、文件操作管理命…

2025 年伸缩门厂家最新推荐榜:技术实力与市场口碑深度解析,高性能与可靠性兼具的优质品牌指南

引言 伴随智能出入口设备市场规模突破百亿大关,伸缩门作为安防与基建核心组件,其品质筛选成为用户核心痛点。为破解行业资质参差、技术同质化等问题,本次推荐榜依托建筑金属结构协会测评标准,构建 “五维评分模型”…

支持私有化本地部署|域名证书管理系统白皮书 - ops

摘要 在当今以多云、容器化和DevOps为特征的IT新范式下,企业域名及DNS管理面临着前所未有的挑战:资产分散、配置复杂、变更频繁、安全风险高企以及合规压力巨大。域名管理系统是一款专为应对这些挑战而设计的企业级解…

2025 年杀虫公司最新推荐榜,技术实力与市场口碑深度解析

引言 虫害防控直接关系人居安全与企业生产,而市场上 83% 的服务纠纷源于方案同质化与效果无保障。为精准筛选优质服务商,本次推荐结合北京有害生物防制协会《居家环境有害生物防制服务规程》团体标准,采用 “三维测…

现在的微小型企业都压工资了吗

现在的微小型企业都压工资了吗在山东某栋梁公司工作,9月份发的是8月份的工资,然后9月份交的五险一金说是10月份工资中的,然后10月份发的是9月份的工资;不过在9月份离职了,在10月月底收到9月份的工资时告诉我说9月…

2025 年快速卷帘门厂家最新推荐榜,技术实力与市场口碑深度解析,优选智能定制与高效供货优质企业

引言 当前快速卷帘门市场需求攀升,但品牌繁杂、产品质量悬殊,部分厂家以次充好致设备故障频发,且多数品牌定制能力不足、供货滞后、售后薄弱,让用户选购困难。为解决此痛点,帮助用户精准筛选出兼具技术实力与良好…

2025 年电动门厂家最新推荐榜,深度剖析企业技术实力、服务水平与市场口碑

引言 当前出入口智能化设备市场中,电动门凭借便捷、安全、智能的优势,已成为商业建筑、政府机构、场馆设施等场景的核心配置。但随着行业规模扩大,品牌数量激增,产品质量参差不齐 —— 部分品牌缺乏核心技术导致设…

react0.14+jquery固定表头表格

代码文件index.js如下: // index.js import React, { Component, PropTypes } from react; import $ from jquery; import ./style.less;export default class CommonTable extends Component {static propTypes = {c…

2025年新疆租车公司权威推荐榜单:新疆自驾游租车/新疆乌鲁木齐租车/新疆租皮卡车源头服务商精选

随着新疆旅游热度不断攀升,2024年全区接待游客总量突破2.5亿人次,创下历史新高,直接推动了汽车租赁需求的快速增长。汽车租赁服务以其灵活性高、车型选择多、用车成本可控等优势,成为越来越多游客和商务人士在新疆…