【发布时间】:2023-03-17 14:11:01
【问题描述】:
我将当前数据库中的一个表传递给一个二维的记录集。目前:
Public Sub MySub(obj As Variant)
Dim dbs As DAO.Database
Dim tbl As DAO.Recordset
Set dbs = CurrentDb
Set tbl = dbs.OpenRecordset("TABLE")
tbl.MoveLast
Records = tbl.GetRows(tbl.RecordCount)
Stop
...
End Sub
在我的本地窗口中单步执行(并在即时窗口中查看),我可以看到 tbl.RecordCount = 1074 但 Records 仍然只获取所有字段的活动记录,即 Records 类型是 Variant(0 to 37, 0 to 0) .
我可以在存储查询时执行类似的方法。我也试过语法:
Set tbl = dbs.OpenRecordset("TABLE",dbOpenDynaset)
和
Set tbl = dbs.OpenRecordset("TABLE",dbOpenTable)
前者有同样的问题,后者返回运行时错误'3219'。
编辑:带查询的 GetRows 示例(参见 cmets)
Set dbs = CurrentDb
Set rsQuery = dbs.OpenRecordset("QUERY", dbOpenDynaset)
varRecords = rsQuery.GetRows(rsQuery.RecordCount)
【问题讨论】: