テーブル情報を取得する

データベースのテーブル情報やフィールド情報を取得するには、ADOの拡張機能を使います。
ADOの拡張機能とは、ADOX(ActiveX Data Objects Extensions for Data Definition Language and Security)と言います。
ADOXを使用するには、VBE画面で参照設定を行う必要があります。


Homeに戻る > Excel データベースのTipsへ

実行画面

ADOXを利用する為には、VBE画面のメニューで「ツール」-「参照設定」を開き、「Microsoft ADO Ext.6.0 for DDL and Security」(Excel2010の場合)をチェックします。
Excel2010の参照設定画面

「テーブル情報を取得する」ボタンをクリックすると、E列にテーブル名、F列にそのテーブルに含まれるフィールド名が表示されます。
顧客管理データベースのテーブル情報


コード

Option Explicit

Private Sub CommandButton1_Click()
    Dim db As ADODB.Connection
    Dim cat As ADOX.Catalog
    Dim tbl As ADOX.Table
    Dim colm As ADOX.Column
    Dim row As Long
    
    '売上管理のACCDBファイルに接続します
    Set db = New ADODB.Connection
    db.Provider = "Microsoft.Ace.OLEDB.12.0"
    db.Open "C:\MyHP\ExcelTips\顧客管理.accdb"
    
    'Catalogオブジェクトを開く
    Set cat = New ADOX.Catalog
    cat.ActiveConnection = db

    row = 2
    'テーブル情報の取得
    For Each tbl In cat.Tables
        If tbl.Type = "TABLE" Then
            Cells(row, 5) = tbl.Name
            row = row + 1
            'フィールド情報の取得
            For Each colm In tbl.Columns
                Cells(row, 6) = colm.Name
                row = row + 1
            Next
        End If
    Next

    '終了処理
    Set colm = Nothing
    Set tbl = Nothing
    Set cat = Nothing
    Set db = Nothing
End Sub



Homeに戻る > Excel データベースのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved