Last updated on

Access VBAで効率的に全てのクエリとテーブルを一括で閉じる方法


Access VBAを使用してシステムを構築する際、データの確認に複数のテーブルを同時に開くことがよくあります。特に、特定のユーザーに関連するデータを一覧表示する機能を作成すると、現在開いているテーブルやクエリが多いとデータの確認が困難になることがあります。

この問題を解決するために、Access VBAで簡単に現在開いている全てのテーブルとクエリを一括で閉じることができるコードを作成しました。

いろいろ試してみて、エラーになったりしていたのですが、最終的に正常に動作することが確認できているコードなので、コピペして使ってください。

Sub クエリを閉じる()

Dim objACC As AccessObject

For Each objACC In CurrentData.AllQueries
If objACC.IsLoaded Then
DoCmd.Close AcObjectType.acQuery, objACC.Name, AcCloseSave.acSaveNo
End If
Next

End Sub

Sub テーブルを閉じる()

Dim objACC As AccessObject

For Each objACC In CurrentData.AllTables  
    If objACC.IsLoaded Then  
        DoCmd.Close AcObjectType.acTable, objACC.Name, AcCloseSave.acSaveNo  
    End If  
Next  
  

End Sub