2014年7月1日火曜日

MS Access のクエリ定義を全てエクスポート

Microsoft Access のクエリ定義をファイルにエクスポートする機能はありません、クエリのSQLをテキストファイルに出力することになります。
下にサンプルを挙げますが、参照設定として以下の追加が必要です。
  • Microsoft Scripting Runtime
参照設定は、Visual Basic Editor(VBE)のメニューから、ツール(T) > 参照設定(R) と辿ります。

VBAモジュールをファイルにエクスポートするサンプル
Sub ExportQuery()
    Dim Fso As New Scripting.FileSystemObject
    Dim Fout As TextStream
    Dim OutDir As String

    OutDir = Fso.GetParentFolderName(CurrentDb.Name) & "\query"
    If Not Fso.FolderExists(OutDir) Then
        Fso.CreateFolder (OutDir)
    End If

    Dim QueryDef As DAO.QueryDef
    For Each QueryDef In CurrentDb.QueryDefs
        Set Fout = Fso.CreateTextFile(Filename:=OutDir & "\" & QueryDef.Name & ".sql")
        Fout.Write QueryDef.SQL
        Fout.Close
    Next
End Sub