我有一個VBA函數,返回一個RecordSet
和這個RecordSet
用於子例程。該函數本身位於一個模塊中。雖然函數本身返回RecordSet
成功,我有兩個問題:excel vba函數返回記錄集
- 如果我嘗試關閉功能的連接,它會導致應用程序失敗
- 如果我試圖關閉
RecordSet
在子程序使用它後,它導致應用程序失敗
那麼,如何在使用它之後返回記錄集並關閉記錄集之後關閉函數中的連接?
我的函數建立連接,打開它並執行查詢。
我有一個VBA函數,返回一個RecordSet
和這個RecordSet
用於子例程。該函數本身位於一個模塊中。雖然函數本身返回RecordSet
成功,我有兩個問題:excel vba函數返回記錄集
RecordSet
在子程序使用它後,它導致應用程序失敗那麼,如何在使用它之後返回記錄集並關閉記錄集之後關閉函數中的連接?
我的函數建立連接,打開它並執行查詢。
使用記錄集後,它必須關閉。
當記錄集處於活動狀態時,它會佔用資源。使用記錄集後,您應該釋放它正在使用的內存,以便可以將它們提供給計算機的其他對象。這是通過將Nothing分配給Recordset對象來完成的。這裏是一個例子:
'Clean Up
rsTemp.Close 'closing recordset
Set rsTemp= Nothing ' free the memory
你也可以在最後關閉連接。
If con.State = adStateOpen Then
con.Close
End If
If Not con Is Nothing Then Set con = Nothing
不要這樣做。模塊化爲子程序
請顯示您的代碼。 – Tarik
記錄集取決於實時連接的工作。在完成使用的任何記錄集之前,不應嘗試關閉連接。 – Barranka