Accessのテーブル情報

Accessのテーブルにアクセスするには、テーブル名がわからないとアクセスできない。
その前に、データベース名が必要だが、対象のパスはわかるはずなので名前はわかる。

Private Sub getTableInfo()
    Const DBName As String = "metiiip.accdb"
    Dim cnt         As Long                 'カウンタ
    Dim tCat        As Object               'データソースのスキーマカタログを記述するコレクション
    Dim tTable      As Object              '列、インデックス、およびキーを含むデータベーステーブル
    Dim DBpath As String: DBpath = ThisWorkbook.Path & "\"
    '
    Set tCat = CreateObject("ADOX.Catalog")
    Set tTable = CreateObject("ADOX.Table")
    'データベース接続情報の取得
    tCat.ActiveConnection = "provider=Microsoft.ACE.OLEDB.12.0;" _
                            & "Data Source=" & DBpath & DBName & ""
    For Each tTable In tCat.Tables
        Select Case tTable.Type
            Case "TABLE"
                MsgBox (tTable.Name)
        End Select
    Next
    '終了処理
    If Not tCat Is Nothing Then Set tCat = Nothing
End Sub