MS-Access Recordset to Array,值被转置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS-Access Recordset to Array,值被转置相关的知识,希望对你有一定的参考价值。

当我使用以下方法时:

rstArray = rs.GetRows(rs.RecordCount)

输出到数组的大小相似:

rstArray(1,6)  'just an example

实际上,输出(即使在查询结果中访问)也是:

rstArray(6,1)   'again just an example

我的问题是为什么这个转换?

我该怎么扭转呢?我理解如果我使用后期绑定并使用excel我可以使用application.tranpose,但是如果我只是在Access中呢?

答案

这就是qazxsw poi的工作方式。即使您可以使用Excel转置功能,如果记录数超过Excel中的最大列数,它也不会始终有效。

你有3个选择:

  1. 使用列行索引或行列来循环遍历数组。
  2. 编写一个辅助函数,为您进行转置。
  3. 如果你所做的只是将数据插入Excel,请不要使用GetRows。请改用GetRows方法。
另一答案

使用Range.CopyFromRecordset

此致,TheSilkCode

以上是关于MS-Access Recordset to Array,值被转置的主要内容,如果未能解决你的问题,请参考以下文章

将日期插入 Ms-Access 数据库的问题

MS-Access SQL 将同一表中的值从“Value”更新为“*Value”

TypeError:打印时需要一个整数(得到类型 str) ar = array("B", ['hello', 'to', 'myuniVerse'])

如何让 Recordset #2 与相似 Recordset#1 处于相同位置

ADO Recordset 对象

ADO Recordset 对象