Access VBA:ADOXでデータベースのテーブル一覧を作成

Access VBAでテーブル名を取得するには ADOX.Table を使用します。

TableのTypeは下記になります。

Access TABLE : Microsoft Accessのシステムテーブル
LINK : ODBC以外からのリンクテーブル
PASS-THROUGH : ODBCデータソースからのリンクテーブル
SYSTEM TABLE : Microsoft Jet システムテーブル
TABLE : Accessの標準テーブル
VIEW : Accessのパラメータを持たない選択クエリ


BackHome BackTips Backメニュー

■取得するファイルのテーブルです。
データベースウィンドウのテーブル

■ 実行Access画面
「ADOXでテーブル一覧を作成 」ボタンで取得を開始します。
リンクテーブルならば→を付けて表示しています。
テーブル一覧取得画面
■ Access VBA 実行コード例

Option Compare Database
Option Explicit

Private Sub コマンド0_Click()
    Dim cat As New ADOX.Catalog
    Dim tbl As New ADOX.Table
    Dim s1 As String
    Dim sfina As String

    'ファイル名
    sfina = "c:\adoxtest.mdb"
    'JET4.0
    s1 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & sfina & "; Jet OLEDB:Engine Type= 5"
    'データベースに接続
    cat.ActiveConnection = s1

    s1 = ""
    For Each tbl In cat.Tables
        'テーブルならば
        If tbl.Type = "TABLE" Then
            s1 = s1 & tbl.Name & vbCrLf
        End If
        'リンクテーブルならば
        If tbl.Type = "LINK" Then
            s1 = s1 & "→" & tbl.Name & vbCrLf
        End If
    Next
        Me!テキスト1 = s1
    Set cat = Nothing
    MsgBox "データベースのテーブル一覧を取得しました。"
End Sub

BackHome BackTips Backメニュー

Copyright(C) FeedSoft