パソコンの小技・備忘録


トップページ > 小技一覧(VB.NET) > Accessファイルに接続して、テーブル名・クエリ名一覧を取得する。

Accessファイルに接続して、テーブル名・クエリ名一覧を取得する。

Accessファイルに接続して、テーブル名・クエリ名一覧を取得する方法です。

なお、この方法で取得できるのは、Access2003までの「.mdb」という形式になります。

左の画面のような状況で利用することを前提にサンプルコードを書きます。

ボタンは「btnTest」、コンボボックスは「cmbTest」とします。

'btnTestのクリックイベントです。
Private Sub btnTest_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnTest.Click

  '接続用変数の定義(ADOXを参照していることが前提)
  Dim ADOXDBCon As New ADOX.Catalog

  'テーブル取得時の繰り返し用定義
  Dim i As Integer

  'Accessと接続するための構文を書きます。
  ADOXDBCon.let_ActiveConnection( _
    "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=D:\temp\test.mdb;")

  'テーブルが無い場合は、処理を中止します。
  If ADOXDBCon.Tables.Count = 0 Then Exit Sub

  'テーブル名の数だけ、コンボボックスに追加します。
  'ただし、「msys」で始まるテーブルは、Accessのシステム上
  '設定されているテーブルなので、対象外としています。
  For i = 0 To ADOXDBCon.Tables.Count - 1
    If ADOXDBCon.Tables(i).Name.Length > 4 Then
      If ADOXDBCon.Tables(i).Name.Substring(0, 4).ToLower _
      <> "msys" Then
        Me.cmbTest.Items.Add(ADOXDBCon.Tables(i).Name)
      End If
    Else
      Me.cmbTest.Items.Add(ADOXDBCon.Tables(i).Name)
    End If
  Next

End Sub

これを実行しますと、左の画面のように、Accessファイル内のテーブルとクエリの一覧が表示されます。

トップページに戻る

パソコンの小技・備忘録トップページ(http://pckowaza.web.fc2.com/)を表示

※更新履歴などを掲載していますので、お気に入りはぜひトップページでお願いします!

サイト内検索

 Googleでサイト内検索

小技カテゴリー

カウンタ

メール送信

 ご意見・相互リンク募集中!
意見・相互リンクメールを送信!
inserted by FC2 system