2008年10月18日土曜日

Access VBAでテーブル(クエリ)を検索する

テーブルを検索するような親切な関数はAccessにはありません。(らしいです)

んが、テーブルとクエリそれぞれのオブジェクトリストがあるので、こいつをぐるぐる回して名前検索ができます。

確認環境はAccess2003だけど、たぶんAccess97以上なら使えると思います。

下は「テーブル名」というテーブルを探すコードです。
'#### 支度 ####
Dim db As dao.Database

'#### DBオープン ####
Set db = CurrentDb

'#### 検索 ####
For Each tble In db.TableDefs
If tble.name = "テーブル名" Then
MsgBox "発見!"
Exit For
End If
Next

'#### 片付 ####
db.Close
Set db = Nothing

こんな感じ。

上のdb.TableDefsをdb.QueryDefsに置き換えると、クエリの検索ができますよ。