次の方法で共有


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

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

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

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

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

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

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

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

必須コンポーネント

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

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

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

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

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

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

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