【发布时间】:2014-02-22 04:47:41
【问题描述】:
我正在使用 Access 2010。我如何从一个移动到另一个函数的函数中获取记录集中的信息?以下代码给了我一个对象变量未设置错误:
Function Main()
Dim rs as DAO.RecordSet
Dim i as integer
Set rs = QueryResults(i)
Do While Not rs.EOF
debug.print rs!result
rs.MoveNext
Loop
End Function
Function QueryResults(i as Integer) as DAO.RecordSet
Dim stQuery as String
Dim rsResults as DAO.RecordSet
Dim i2 as Integer
i2 = i
stQuery = "Select query that uses i2 to get results"
Set rsResults = CurrentDb.OpenRecordset(stQuery)
End Function
我可以单步执行并查看 QueryResults 函数是否正常工作。我可以从 rsResults 打印出每一行,看看它是否有我想要的。当代码到达“do while not rs.EOF”行时,问题就来了。它说 rs 从未设置为任何东西。
我做错了什么?这两个功能都在同一个模块中。从一个函数到另一个函数的结果似乎应该不难。
【问题讨论】:
标签: ms-access vba ms-access-2010 recordset