次の方法で共有


複数のテーブルを一つの DataGridView で表示する方法

download.gif

サンプル コードのダウンロード (vbmigtips_Connection.msi, 541 KB)

※ このサンプルをインストールするには Visual Studio 2005 が必要です。

データベースファイルのテーブル情報を表示させる場合、複数のテーブルを一つの DataGridView で表示したい場合があります。そこで今回は、Access で作成した複数テーブルを結合させて表示する方法について紹介します。今回は、図1 の 2 つのテーブルを統合し表示します。

Connection_fig01.jpg
 図1

Visual Basic 2005 では、[Table Adapter 構成ウィザード]を使用することで簡単に設定することができます。まず、[データ]メニューの[新しいデータソースの追加...]を選択して表示される、[データソース構成ウィザード]ダイアログでデータベースへの接続と DataSet への格納を設定します。指示に従って、図1 の 2 つのテーブルを追加します(図2)。

Connection_fig02.jpg
 図2

次に、追加した DataSet ファイル(dbDataSet.xsd)をデザイン表示で開き、ショートカットメニューの[追加]の[TableAdapter] を選択します。すると、[TableAdapter 構成ウィザード]が表示されます(図3)。

Connection_fig03.jpg
 図3

図3 で[次へ]ボタンを選択します。次のデータベースにアクセスする方法を指定する[コマンドの種類を選択する]画面でも、[次へ]ボタンを選択します。[SQL ステートメントの入力]画面では、図4 のようにステートメントによって返されるデータの指定を行います。

Connection_fig04.jpg
 図4

テーブルに読み込むデータは、SQL ステートメントの直接入力、又は、クエリのビルドを使用して構成します。クエリのビルドを使用する場合、図4 の[クエリ ビルド...]ボタンを選択すると、図5 の[クエリ ビルド]ウィンドウが表示されます。このウィンドウを使用し、読み込むデータの構築を行います。

Connection_fig05.jpg
 図5

読み込むデータの構築後、[次へ]ボタンを選択し、[生成するメソッドの選択]画面で、必要なメソッドを設定します。[完了]ボタンを選択すると、図6 のように新たな DataTable が生成されます。

Connection_fig06.jpg
 図6

最後に、[ツールボックス]から DataGridView コントロールをフォームにドラッグ & ドロップし、追加した DataGridView コントロールのスマートタグの[データソースの選択]リストから、上記で生成した DataTable を選択します(図7)。

Connection_fig07.jpg
 図7

以上の設定を行い、アプリケーションを実行すると、図8 のように図1 の 2 つのデータベーステーブルのデータが 1 つの DataGrid で表示されます。

Connection_fig08.jpg
 図8