C#でアクセス(mdb)ファイルをdataGridViewに読み込む
無料のC#2008expressを使って,アクセスがなくともアクセスのmdbファイルを読み込むアプリを作成する。
mdb内の一つのテーブルをデータグリッドビューに表示するものなので,コーディングなしで作成できる。
もちろん,クエリを用いて複数のテーブルを関連づけて,必要なデータを表示するアプリも作れるが以下では説明しない。
C#のコンパイルなど最低限の作業は知っているものとし説明しない。
●ファイルメニューの「新しいプロジェクト」から,「windowsフォームアプリケーション」を選択する(プロジェクト名つける)。
●次に,以下の手順でフォームにいろいろ部品をつける。
●1●
ツールボックスから,menuStripをドロップダウンし,ストリップ上で右クリックして「標準項目の挿入」をする。
もっとも,このmenuStripと次のstatusStripは,今回は使わない。飾りみたいなもの(?)
●2●
statusStripをドロップダウンし,最下段にストリップをつけておく
dataGridView(以下DGVと省略)を操作するため,bindingNavigatorをドロップする。
toolStripContainerをドロップして,「親コンテナにドッキングする」を選択
●3●
dataGridViewをドロップする
左上の矢印をクリックし,「プロジェクトデータソースの追加」をクリックする
●4●
DGVに表示するデータの設定をする。ここでアクセスのmdbファイルと関連させるのである。
とは言っても,ウィザードに従って設定していくと,自動的にできるようになっている。
データソースの選択,プロジェクトデータソースの追加,データベースの種類を選択,データベースを選択
●5●
新しい接続,データソースを変更,accessデータベースファイル,DBファイル名を設定
●6●
アクセスファイルに接続できるように設定
●7●
mdbファイルを設定する
●8●
mdbファイルには複数のテーブルが入っているが,DGVには一つのテーブルしか表示できない。
mdbファイルからDGVに表示するテーブル・項目を選択する
●9●
ここまでの作業で,テーブルを表示できるようになった。
実用的には,検索抽出ができるようにする必要がある。
tableAdapterの設定で,検索できるようにする。
●10●
検索条件ビルダを用いて,SQLを設定する
●11●
クエリビルダで検索クエリをつくる
●12●
おおむねできあがり
bindingNavigatorのプロパティで,bindingSourceを設定するのを忘れないように
●13●
ここまで,全くコーディングをせずに,mdbファイルを表示し検索もできるようにした。
●14●
もっとも,このままでは,年月日の表示が西暦なので,元号表示にするには,コードを追加する必要がある
●15●
次にdataGridViewに変更や追加をした場合に保存する方法
変更が加わったテーブルを変更して保存すると考えれば良い。
特にmdbファイルを保存するとか考える必要はない。
どこかのボタンのクリックイベントなどに,次の一行を書くと保存できる。