我想将dao记录集中的一行传递给数组,然后循环遍历数组,但它无法正常工作。下面的代码产生一个"下标超出范围"错误。
Dim avarRow As Variant
avarRow = rsSource.GetRows(1)
For i = LBound(avarRow) To UBound(avarRow)
MsgBox avarRow(i)
Next
但是,这段代码:
Dim avarRow As Variant
avarRow = rsSource.GetRows(1)
For i = LBound(avarRow) To UBound(avarRow)
MsgBox "There's something here..."
Next
触发测试消息框预期的次数 - 对于我捕获的行中的每个字段一次。这必须意味着数组中存在某些,那为什么我无法访问它?
我以前没用过.GetRows,所以我怀疑我的问题所在。谁能告诉我我做错了什么?
答案 0 :(得分:1)
来自http://msdn.microsoft.com/en-us/library/office/ff194427%28v=office.15%29.aspx
GetRows返回一个二维数组。第一个下标标识字段,第二个下标标识行号
试试这个
Dim avarRow As Variant
avarRow = rssource.GetRows(1)
For i = LBound(avarRow) To UBound(avarRow)
MsgBox avarRow(i, 0)
Next