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