Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6746|回复: 3

[已解决]GetRows

[复制链接]
发表于 2013-12-15 16:13 | 显示全部楼层 |阅读模式
本帖最后由 dicky_MM 于 2013-12-20 16:58 编辑

代码中GetRows中的"-1,1"是什么意思?
想把代码改成显示在excel单元格里,应该怎么改?
Sub 在记录之间循环2()
  Dim conn As New Connection
  Dim rst As New Recordset
  Dim data As New 数据库
  Dim x, arr, arr1
  conn.Open data.Excel数据库
  rst.Open "select * from [Sheet1$] where val(年龄)>25", conn, adOpenKeyset, adLockOptimistic
  'MsgBox rst.RecordCount
  arr1 = Array("姓名", "年龄")
  arr = Application.Transpose(rst.GetRows(-1, 1, arr1))
For x = 1 To UBound(arr, 1)
    Debug.Print arr(x, 1) & "," & arr(x, 2)
Next x
rst.Close
conn.Close
Set rst = Nothing
Set conn = Nothing
End Sub
最佳答案
2013-12-15 17:41
GetRows 方法 (ADO)

用于将 Recordset 对象的多个记录检索到数组中。

语法

array = recordset.GetRows( Rows, Start, Fields )


返回值
返回一个变量,其值是二维数组。

参数
Rows
可选。GetRowsOptionEnum 值,指示要检索的记录数。默认值为 adGetRowsRest。
Start
可选。字符串型值或变量,变量计算得出的值为应从该处开始 GetRows 操作的记录的书签。也可以使用 BookmarkEnum 值。
Fields
可选。变量,代表单个字段名或序号位置,或一个含一些字段名或序号位置编号的数组。ADO 仅返回这些字段中的数据。
备注
使用 GetRows 方法可以将 Recordset 中的记录复制到一个二维数组中。第一个下标标识字段,第二个下标标识记录号。当 GetRows 方法返回数据时,array 变量的维度将自动设为正确的大小。

如果不指定 Rows 参数的值,GetRows 方法将自动检索 Recordset 对象中的所有记录。如果请求的记录数大于可用记录数,则 GetRows 仅返回可用数目的记录。

如果 Recordset 对象支持书签,则可以指定 GetRows 方法应从哪个记录开始检索数据,方法是在 Start 参数中传递该记录的 Bookmark 属性的值。

如果要限制 GetRows 调用返回的字段数,可以在 Fields 参数中传递单个字段名/编号或一个含多个字段名/编号的数组。

调用 GetRows 之后,下一个未读取的记录成为当前记录,如果没有更多记录,则 EOF 属性设置为 True。

发表于 2013-12-15 17:40 | 显示全部楼层
其实这些在ACCESS的VBA开发人员参考里都有。
回复

使用道具 举报

发表于 2013-12-15 17:41 | 显示全部楼层    本楼为最佳答案   
GetRows 方法 (ADO)

用于将 Recordset 对象的多个记录检索到数组中。

语法

array = recordset.GetRows( Rows, Start, Fields )


返回值
返回一个变量,其值是二维数组。

参数
Rows
可选。GetRowsOptionEnum 值,指示要检索的记录数。默认值为 adGetRowsRest。
Start
可选。字符串型值或变量,变量计算得出的值为应从该处开始 GetRows 操作的记录的书签。也可以使用 BookmarkEnum 值。
Fields
可选。变量,代表单个字段名或序号位置,或一个含一些字段名或序号位置编号的数组。ADO 仅返回这些字段中的数据。
备注
使用 GetRows 方法可以将 Recordset 中的记录复制到一个二维数组中。第一个下标标识字段,第二个下标标识记录号。当 GetRows 方法返回数据时,array 变量的维度将自动设为正确的大小。

如果不指定 Rows 参数的值,GetRows 方法将自动检索 Recordset 对象中的所有记录。如果请求的记录数大于可用记录数,则 GetRows 仅返回可用数目的记录。

如果 Recordset 对象支持书签,则可以指定 GetRows 方法应从哪个记录开始检索数据,方法是在 Start 参数中传递该记录的 Bookmark 属性的值。

如果要限制 GetRows 调用返回的字段数,可以在 Fields 参数中传递单个字段名/编号或一个含多个字段名/编号的数组。

调用 GetRows 之后,下一个未读取的记录成为当前记录,如果没有更多记录,则 EOF 属性设置为 True。

回复

使用道具 举报

 楼主| 发表于 2013-12-16 22:44 | 显示全部楼层
hwc2ycy 发表于 2013-12-15 17:41
GetRows 方法 (ADO)

用于将 Recordset 对象的多个记录检索到数组中。

能说的通俗一点吗?
一般情况下我就按-1 ,1来设置可以吗?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 11:07 , Processed in 0.249325 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表