返回Recordset后,空白访问实例仍然存在

时间:2015-01-16 16:32:33

标签: excel excel-vba access-vba vba

我正在使用Excel打开访问实例并返回记录集。不确定原因,但在代码执行后,打开了一个空白的Access实例。如果没有开放任务经理,我甚至无法关闭它。

实际的方法稍微复杂一些,但为了简单起见,这里是Excel中的代码:

Private Function t()

    Dim ac As Access.Application
    Set ac = New Access.Application
    Dim rs As DAO.recordSet

    ac.OpenCurrentDatabase (dataLocation)
    Set rs = ac.Run("Test2")

    If Not rs Is Nothing Then
        Call writeRecordSet(rs, sht, 1, 1)
    End If

    rs.Close
    Set rs = Nothing
    ac.CloseCurrentDatabase
    ac.Quit

    Set ac = Nothing

End Function

访问代码:

Public Function test2() As DAO.Recordset

    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbl_Aero_Units")
    Set test2 = rs

End Function

我认为它与记录集对象没有被关闭有关,因为只有在我将它写入Excel工作表时才会发生。任何人都知道为什么会这样,以及如何阻止它?

更新:功能完成后,我可以点击重置按钮并关闭Access实例。

0 个答案:

没有答案