Access の全クエリーの SQL から文字列検索

Access 2000 で、あるテーブルがどのクエリーで使われているかを調べようと思ったのですが、クエリーの数が非常に多く、デザインビューなどで1つ1つ開いて調べるのはやっかい、という場面に出くわしました。

そこで調べてみると、クエリーの SQL をテキストファイルに出力するサンプルを紹介してくれている方がいました。これを使えば、出力したテキストファイル内を検索すれば調べられます。


http://questionbox.jp.msn.com/qa708589.html


以下はプログラムそのままの引用になります。クエリーを読み取ってテキストファイルに出力し、それをメモ帳で開いています。

Private Sub Command_Click()

    Dim Dbs         As DAO.Database
    Dim Qdf         As DAO.QueryDef
    Dim FileName    As String
    Dim FNum        As Integer
    Dim stSQL       As String
    Dim ret         As Double

    'データベースセット
    Set Dbs = CurrentDb
    'Set Dbs = DAO.OpenDatabase("c:\test.mdb")

    'ファイルを開く
    FNum = FreeFile
    FileName = Mid(Dbs.Name, InStrRev(Dbs.Name, "\") + 1)
    FileName = Left(FileName, InStrRev(FileName, ".") - 1)
    FileName = "c:\" & FileName & "_Query.txt"
    Open FileName For Output Access Write As #FNum

    'クエリ分ループ
    For Each Qdf In Dbs.QueryDefs

        'クエリ名&SQLステートメント取得
        stSQL = "QueryName:" & Qdf.Name & vbCrLf & _
                "SQL:" & Qdf.SQL & vbCrLf & vbCrLf

        'ファイルに出力
        Print #FNum, stSQL

    Next

    Set Dbs = Nothing

    Close #FNum

    'ファイルを開く(notepad.exe)
    ret = Shell("notepad.exe " & FileName, vbNormalFocus)

End Sub