- 締切済み
EXCEL-VBAにてADOのレコードセットを使用している際のメモリの開放について
いつもお世話になっております。 インターネットやテキストで調べてもわからず、 似たような質問が無いものかとこちらのほうでも検索したのですが、見当たらなかったため新たに質問させていただきます。 現在、エクセルVBAにてADOを使用し、ワークシートをテーブルに見立てて、SQLを発行しているのですが、その際に生成するレコードセットの開放が確認できず困っています。 もちろんclose及びnothingは行っています。 タスクマネージャーを確認しながら、当該のステップが実行された時点で、メモリが開放されるか見ていても、物理メモリの利用可能サイズは微動だにしません。レコードセットが生成された時点のままです。 どなたか、思い当たることがございましたら、回答いただけませんでしょうか?よろしくお願いいたします。 補足:WindowsXP、EXCEL XP、メモリ256、といった環境です。 発行しているSQLはそれほどややこしくはありません。
- みんなの回答 (2)
- 専門家の回答
お礼
ご回答ありがとうございます。 EXCELを閉じるとメモリは解放されます。 ですが、ConnectionもRecordsetも生成時には、NEWをつけていますので、原因はそこではないかと思われます。 Public adoCONNECTION As ADODB.Connection Set objADOConnect = New ADODB.Connection Dim objADORS1 As ADODB.Recordset Set objADORS1 = New ADODB.Recordset といった具合です。 これらを踏まえた上で、思い当たる点はございますでしょうか?