次の方法で共有


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

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

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

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

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

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

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

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

必須コンポーネント

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

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

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

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

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

  3. [Windows アプリケーション] をクリックし、[OK] をクリックします。 詳細については、「Windows ベースのアプリケーションの作成」を参照してください。

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

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

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

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

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

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

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

  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 コンボ ボックスのプロパティを設定して、ルックアップ テーブルを作成します。

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

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

    注意

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

    プロパティ

    設定の説明

    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 でのデータへの接続

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

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

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

データの検証

データの保存