vba中的recordset.getrow记录集返回的数组为什么是反的?
时间: 2023-05-23 18:07:36 浏览: 167
A:在VBA中,Recordset.GetRows 方法返回的数组由指定的行和列的值组成。这个数组是一个二维数组,第一维表示行数,第二维表示列数。如果你只指定了一个行数,那么这个方法会返回一个一维数组,其中包含该行的所有列的值。此外,如果你指定了列数为负数,那么这个方法会返回所有列的值。
在VBA中,Recordset.GetRows 方法返回的数组默认顺序是列序优先,也就是说,先返回一列的所有值,然后才返回下一列的所有值。如果你希望返回行序优先的数组,即先返回一行的所有值,然后才返回下一行的所有值,你可以使用 Recordset.GetRows 方法的第二个可选参数。将这个参数设置为 True,就会返回行序优先的数组。在行序优先的数组中,每一行的值是连续的,因此如果你将这个数组反转,就会得到列序优先的数组。
因此,如果你在使用 Recordset.GetRows 方法获取记录集的值时发现返回的数组顺序与你预期的不同,可能是因为你没有正确设置参数或者没有对返回的数组进行反转。
阅读全文