Share via


チュートリアル: Windows フォーム アプリケーションでのルックアップ テーブルの作成

ルックアップ テーブルは、あるテーブルの情報を別のテーブルの外部キー フィールドの値に基づいて表示するために使用されます。 たとえば、販売データベースの Orders テーブルであれば、次のように使用されます。 Orders テーブルの各レコードには、注文した顧客を表す CustomerID が含まれます。 CustomerID は、Customers テーブルの顧客レコードを指す外部キーです。 (Orders テーブルから) Orders の一覧を表示する場合、CustomerID ではなく、実際の顧客名を表示することもできます。 顧客名は Customers テーブルに含まれており、表示するデータは Orders テーブルのデータであるため、Orders レコードの CustomerID 値を使用してリレーションシップをたどり、よりわかりやすい顧客名を返すルックアップ テーブルを作成する必要があります。 この概念をルックアップ テーブルと呼びます。

このチュートリアルでは、以下のタスクを行います。

  • 新しい Windows アプリケーション プロジェクトを作成します。

  • データ ソース構成ウィザードを使用して、データセットを作成して構成します。

  • [データ ソース] ウィンドウから項目をドラッグしたときにフォーム上に作成するコントロールを選択します。 詳細については、「方法 : [データ ソース] ウィンドウからドラッグしたときに作成されるコントロールを設定する」を参照してください。

  • [データ ソース] ウィンドウからフォームに項目をドラッグして、データ バインド コントロールを作成します。

  • 関連するテーブルを外部キーのリレーションによってバインドされたコントロールにドロップして、ルックアップ テーブルを設定します。

必須コンポーネント

このチュートリアルを完了するための要件は次のとおりです。

新しい Windows アプリケーションの作成

新しい Windows アプリケーション プロジェクトを作成するには

  1. [ファイル] メニューで新しいプロジェクトを作成します。

  2. プロジェクトに LookupTableWalkthrough という名前を付けます。

  3. [Windows アプリケーション] をクリックし、[OK] をクリックします。 詳細については、「.NET Framework を使用したクライアント アプリケーションの開発」を参照してください。

    LookupTableWalkthrough プロジェクトが作成されてソリューション エクスプローラーに追加されます。

新しいデータ ソースの作成

データ ソースを作成するには

  1. [データ] メニューの [データ ソースの表示] をクリックします。

  2. [データ ソース] ウィンドウで、[新しいデータ ソースの追加] をクリックしてデータ ソース構成ウィザードを起動します。

  3. [データソースの種類を選択] ページで、[データベース] をクリックし、[次へ] をクリックします。

  4. [データ接続の選択] ページで、次のいずれかの操作を行います。

    • Northwind サンプル データベースへのデータ接続がドロップダウン リストに表示されている場合は選択します。

      または

    • [新しい接続] を選択して [接続の追加] または [接続の変更] ダイアログ ボックスを表示します。

  5. データベースにパスワードが必要な場合は、該当するオプションを選択して重要情報を含め、[次へ] をクリックします。

  6. [アプリケーション構成ファイルに接続文字列を保存] ページで、[次へ] をクリックします。

  7. [データベース オブジェクトの選択] ページの [テーブル] ノードを展開します。

  8. Customers テーブルと Orders テーブルを選択し、[完了] をクリックします。

    プロジェクトに NorthwindDataSet が追加され、[データ ソース] ウィンドウに 2 つのテーブルが表示されます。

フォーム上のデータ バインド コントロールの作成

フォームにデータ バインド コントロールを作成するには

  1. [データ ソース] ウィンドウの [Customers] ノードを展開します。

  2. [Orders] ノードのコントロール リストの [詳細] を選択して、関連する Orders テーブルのドロップ タイプを [詳細] に変更します。 詳細については、「方法 : [データ ソース] ウィンドウからドラッグしたときに作成されるコントロールを設定する」を参照してください。

  3. 関連する [Orders] ノードを展開し、[CustomerID] ノードのコントロール リストから [ComboBox] を選択して、[CustomerID] 列のドロップ タイプをコンボ ボックスに変更します。

  4. [データ ソース] ウィンドウから Form1[Orders] ノードをドラッグします。

    説明のラベルが付いたデータ バインド コントロールとレコード間を移動するためのツール ストリップ (BindingNavigator) がフォームに表示されます。 NorthwindDataSetCustomersTableAdapterBindingSource、および BindingNavigator がコンポーネント トレイに表示されます。

ルックアップ テーブルの作成

ルックアップ テーブルを作成するには、CustomerID ボックスのプロパティを設定します。

フォーム上にルックアップ テーブル機能を作成するには

  • メインの Customers ノードを [データ ソース] ウィンドウから Form1[CustomerID] ボックスに直接ドラッグします。

    注意

    次のテーブルは参照専用です。プロパティは、上記の手順のドラッグ操作で自動的に設定されます。デザイナーでは、下記の「設定の説明」のとおりにプロパティが設定されます。テーブルの構造によっては、ルックアップ テーブルを正しく機能させるためにプロパティを調整する必要がある場合があります。

    プロパティ

    設定の説明

    DataSource

    Visual Studio は、このプロパティをコントロールにドラッグしたテーブルに対して作成された BindingSource に設定します (コントロールの作成時に作成された BindingSource とは異なります)。

    調整する必要がある場合は、このプロパティを、表示する列を含むテーブルの BindingSource に設定します。 (このチュートリアルでは CustomersBindingSource。)

    DisplayMember

    Visual Studio は、このプロパティをコントロールにドラッグするテーブルの主キーの後で、文字列データ型を含む最初の列に設定します。

    調整する必要がある場合は、このプロパティを、表示する列の名前に設定します。

    ValueMember

    Visual Studio は、このプロパティを主キーに参加している最初の列、またはキーが定義されていない場合は、テーブルの最初の列に設定します。

    調整する必要がある場合は、このプロパティを、表示する列を含むテーブルの主キーに設定します。

    SelectedValue

    Visual Studio は、このプロパティを [データ ソース] ウィンドウからドラッグした元の列に設定します。

    調整する必要がある場合は、このプロパティを、関連付けられたテーブルの外部キー列に設定します。 (このチュートリアルでは、Orders テーブルの CustomerID。)

アプリケーションの実行

アプリケーションを実行するには

  1. F5 キーを押します。

  2. 注文間を移動し、各注文について Customers テーブルの CompanyName が、Orders テーブルの CustomerID 列の代わりに [CustomerID] ボックスに 表示されることを確認します。

次の手順

アプリケーションの要件に応じて、データ バインド フォームの作成後に、追加の操作を実行できます。 このチュートリアルで行うことができる拡張には次のものがあります。

参照

概念

Visual Studio でのデータへの Windows フォーム コントロールのバインド

データ ソースの概要

TableAdapter の概要

アプリケーションでデータを受け取る準備

アプリケーションへのデータのフェッチ

Visual Studio でのデータへのコントロールのバインド

アプリケーションでのデータ編集

データの検証

データの保存

その他の技術情報

データに関するチュートリアル

Visual Studio でのデータへの接続