2015
1
29

VB.NETでDataGridViewへAccessのデータベースファイルを読み込む

新しく VB.NET のタグを作りました。仕事でやったことを「あー、あのときどうしたんだっけー!」と忘れた時用に書いていきたいと思います。どれだけの方に需要があるかは分かりませんが…。。どこかでどなたかの検索にひっかかってくだされば嬉しいなーと思います。


関連記事

  1. DataGridViewへAccessのデータベースファイルを読み込む ←NOW!
  2. AccessDBテーブルの主キーと各フィールド型を取得する
  3. DataGridViewに読み込んだDB情報を再取得する
  4. DataGridViewをセル編集したときの行数を格納する
  5. Accessのデータベースファイルへ書き込むための接続・切断
  6. Accessデータベースのレコードを削除する
  7. Accessデータベースを更新する

ガッツリ続き物になってしまいました…。過去の分と合わせて順番に読んでいただけると分かりやすいかと思います。

なるべく簡素に書いているので、例外処理は甘いと思われます。ご参考にする際は、ご自分の環境に合わせてご修正ください。

環境

  • Visual Studio 2010
  • .NET Framework 4.0

です。

背景

MS AccessのDBを使っているシステムがいくつかあるんですが、社内全てのPCにAccessが入ってるわけじゃないんですよね。

昔書いたこの記事のように、DBだけ用意しておいて、読み書きはExcelからやっちゃうなんてことも。でも、Officeすら入ってないPCからちょこっと中身を見たり、変更したいという必要に迫られまして。

というわけで、VBから既存のAccessのDBを操作するようなものをちょっとずつ作ってるメモです。

今回の目的

既存のDBファイルのテーブルをDataGridViewへ読み込みます。テーブルごとにSQLをベタ書きするんじゃなくて、テーブル名だけ指定すれば同じコードで全部のテーブルに対応できる、というのがいいなーと思って書きました。

AccessのDBを用意

150129-1
150129-2

とりあえずふたつ、簡単なテーブルを作っておきます。型とかはこんな感じにしておきました。主キーが複数というパターンもあったのでそういうのも作っておきます。(今回は読み込むだけなので使いませんが、今後主キー情報を取得したりするつもりです。)

150129-3
150129-4

まずは読み込みをしたいので、適当にデータを入れておきます。

Visual Studio 2010にて

Windowsフォームアプリケーションを作ります。

Form1.vb [デザイン]

150129-5

スタートアップフォームであるForm1に、テーブルの名前をTextに設定したボタンを、テーブルの数だけつけておきます。ボタンは、ツールボックスの [コモン コントロール] の中です。

Form1.vb

Form1のコード画面へ、以下を書きます。

DBreadというプロシージャを後で作るとして、そこへ各ボタンの名前(テーブル名)を持って飛んでいくという形にしておきます。

Form2.vb [デザイン]

[プロジェクト] → [Windows フォームの追加] → [Windows フォーム] → [作成] で、Form2が出来ます。

150129-6

ここへ、テーブルを読み込むDataGridView1を作ります。DataGridViewは、ツールボックスの [データ] の中です。追加と編集だけ有効にしておこうかな、と思います。(ただし、ここで編集しても直接DBに変更がかからないようにするつもりです。)

Module1.vb

さっき作った、Form1のボタンを押した時に走るコードを書きます。

[プロジェクト] → [モジュールの追加] → [モジュール] → [作成] で、Module1.vbが出来ます。

テーブル名を引数として持ってきて、そのテーブル内容をForm2DataGridView1へ表示させます。試してみたらmdbも出来ました。コメントアウトしてあるプロバイダとファイル名部分を入れ替えれば使えます。

こちらを参考にさせていただきました。

動作テスト

F5キーでデバッグ開始するとForm1が起動するので、各テーブル名のボタンを押してやると、

150129-7
150129-8

このように、テーブルごとに中身を表示できます。

今後、この表示したテーブルから編集や削除を行えるようにしていく予定です。テーブルによって主キーの数やそれぞれフィールドの型が違うので、そこを取得しながら汎用的に使えるコードにしていきたいなーと思っています。

  • このエントリーをはてなブックマークに追加
  • follow us in feedly 618
  • RSSを登録

公開日:2015/01/29


コメントを残す




*印は必須項目です。コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にですがスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)


back to top