2012-06-24 32 views
0

我正在嘗試將一個記錄集加載到數組中。我正在使用以下代碼:在Recordset對象上使用GetRows不會返回行

Set rst = CurrentDb.OpenRecordset("SELECT id FROM TABLE1") 
bankacid = rst.GetRows() 
rst.Close 
i = UBound(bankacid, 2) 
MsgBox i + 1 

這不會返回任何行。如果我使用「bankacid = rst.getrows(5)」,它可以工作。

我是VBA的新手,非常感謝 指出我缺少的東西。

回答

0

最好退後一步說出爲什麼你需要一個數組,畢竟DAO recorset比數組功能多得多。如果真的有必要使用數組,則使用ADODB。如果您只想引用字段和行,請使用Move,MoveFirst,MoveLast,MoveNext,MovePrevious和字段名稱(列)或序號位置(.Field(3)。

+0

感謝上面的作品好,並且我想要做的事情要好得多我仍然有點困惑,爲什麼只有當我選擇了大量的記錄來填充例如「getrows(5)」而不是當我使用時,原始代碼纔會起作用「getrows()」從我讀過的getrows()應該選擇所有記錄 – Nathan

+0

我認爲你在考慮ADO GetRows,它會檢索所有行DAO Getrows是另一回事:http://support.microsoft.com/KB/129856 – Fionnuala

相關問題