次の方法で共有


チュートリアル : ドキュメント レベルのプロジェクトでの単純データ バインディング

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

Microsoft Office のバージョン

  • Excel 2007

  • Excel 2003

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

このチュートリアルでは、ドキュメント レベルのプロジェクトでのデータ バインディングの基本事項について説明します。SQL Server データベース内の単一のデータ フィールドを Microsoft Office Excel 内の名前付き範囲にバインドする方法について説明します。テーブル内のすべてのレコードをスクロールできるようにするコントロールを追加する方法も説明します。

このチュートリアルでは、次の作業について説明します。

  • Excel プロジェクトのデータ ソースの作成

  • ワークシートへのコントロールの追加

  • データベース レコード間のスクロール

ms178805.alert_note(ja-jp,VS.90).gifメモ :

お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。

前提条件

このチュートリアルを実行するには、次のコンポーネントが必要です。

  • Visual Studio Tools for Office (Visual Studio 2008 Professional および Visual Studio Team System のオプションの要素)

  • Microsoft Office Excel 2003 または Microsoft Office Excel 2007

  • Northwind SQL Server サンプル データベースがインストールされたサーバーへのアクセス

  • SQL Server データベースの読み込み/書き込みアクセス許可

新規プロジェクトの作成

この手順では、Excel ブックのプロジェクトを作成します。

新しいプロジェクトを作成するには

  • Visual Basic または C# を使用して、"My Simple Data Binding" という名前の Excel ブック プロジェクトを作成します。[新規ドキュメントの作成] が選択されていることを確認します。詳細については、「方法 : Visual Studio Tools for Office プロジェクトを作成する」を参照してください。

新しい Excel ブックが Visual Studio のデザイナに開かれ、My Simple Data Binding プロジェクトがソリューション エクスプローラに追加されます。

データ ソースの作成

[データ ソース] ウィンドウを使用して型指定されたデータセットをプロジェクトに追加します。

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

  1. [データ ソース] ウィンドウが表示されていない場合は、[データ] メニューの [データ ソースの表示] をクリックします。

    ms178805.alert_note(ja-jp,VS.90).gifメモ :

    [データ ソースの表示] が使用できない場合は、Excel ブックの内部をクリックしてから、再び確認してください。

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

  3. [データベース] をクリックし、[次へ] をクリックします。

  4. Northwind サンプル SQL Server データベースへのデータ接続を選択するか、または [新しい接続] をクリックして新しい接続を追加します。

  5. 接続を選択または作成した後、[次へ] をクリックします。

  6. 接続を保存するオプションがオンになっている場合はオフにし、[次へ] をクリックします。

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

  8. [Customers] テーブルの横にあるチェック ボックスをオンにします。

  9. [完了] をクリックします。

[Customers] テーブルが [データ ソース] ウィンドウに追加されます。さらに、ソリューション エクスプローラに表示されるプロジェクトに、型指定されたデータセットも追加されます。

ワークシートへのコントロールの追加

このチュートリアルでは、2 つの名前付き範囲と 4 つのボタンが最初のワークシートに必要です。最初に、2 つの名前付き範囲を [データ ソース] ウィンドウから追加して自動的にデータ ソースにバインドされるようにします。次に、ツールボックスからボタンを追加します。

2 つの名前付き範囲を追加するには

  1. My Simple Data Binding.xls ブックが Visual Studio デザイナで開かれ、Sheet1 が表示されていることを確認します。

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

  3. [CompanyName] 列を選択し、表示されるドロップダウン矢印をクリックします。

  4. ドロップダウン リストの NamedRange を選択し、CompanyName 列をセル A1 にドラッグします。

    companyNameNamedRange という NamedRange コントロールがセル A1 に作成されます。それと同時に、customersBindingSource という BindingSource、テーブル アダプタ、および DataSet インスタンスがプロジェクトに追加されます。コントロールは BindingSource にバインドされ、さらにこれが DataSet インスタンスにバインドされます。

  5. [データ ソース] ウィンドウの [CustomerID] 列を選択し、表示されるドロップダウン矢印をクリックします。

  6. ドロップダウン リストの [NamedRange] を選択し、[CustomerID] 列をセル B1 にドラッグします。

  7. customerIDNamedRange という別の NamedRange コントロールがセル B1 内に作成され、BindingSource にバインドされます。

4 つのボタンを追加するには

  1. ツールボックス[コモン コントロール] タブからワークシートのセル A3 へ、Button コントロールをドラッグします。

    このボタンは Button1 という名前になります。

  2. 残りの 3 つのボタンを次の順序でセルに追加し、ボタンがこのとおりの名前になるようにします。

    セル

    (Name)

    B3

    Button2

    C3

    Button3

    D3

    Button4

次の手順で、テキストをボタンに追加します。C# ではイベント ハンドラを追加します。

コントロールの初期化

ボタン テキストを設定し、Startup イベント中にイベント ハンドラを追加します。

コントロールを初期化するには

  1. ソリューション エクスプローラSheet1.vb または Sheet1.cs を右クリックし、ショートカット メニューの [コードの表示] をクリックします。

  2. 各ボタンにテキストを設定する次のコードを Sheet1_Startup メソッドに追加します。

    With Me
        .Button1.Text = "|<"
        .Button2.Text = "<"
        .Button3.Text = ">"
        .Button4.Text = ">|"
    End With
    
    this.button1.Text = "|<";
    this.button2.Text = "<";
    this.button3.Text = ">";
    this.button4.Text = ">|";
    
  3. C# の場合のみ、ボタン クリック イベントのイベント ハンドラを Sheet1_Startup メソッドに追加します。

    this.button1.Click += new EventHandler(button1_Click);
    this.button2.Click += new EventHandler(button2_Click);
    this.button3.Click += new EventHandler(button3_Click);
    this.button4.Click += new EventHandler(button4_Click);
    

Click ボタンのイベントを処理するコードを追加し、ユーザーがレコード間を移動できるようにします。

レコード間をスクロールするためのコードの追加

レコード間を移動するためのコードを各ボタンの Click イベント ハンドラに追加します。

最初のレコードに移動するには

  • Button1 ボタンの Click イベントにイベント ハンドラを追加し、最初のレコードに移動するための次のコードを追加します。

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        Me.CustomersBindingSource.MoveFirst()
    End Sub
    
    private void button1_Click(object sender, System.EventArgs e)
    {
        this.customersBindingSource.MoveFirst();
    }
    

後方のレコードに移動するには

  • Button2 ボタンの Click イベントにイベント ハンドラを追加し、位置を 1 つ後方に移動するための次のコードを追加します。

    Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Button2.Click
    
        Me.CustomersBindingSource.MovePrevious()
    End Sub
    
    private void button2_Click(object sender, System.EventArgs e)
    {
        this.customersBindingSource.MovePrevious(); 
    }
    

次のレコードに移動するには

  • Button3 ボタンの Click イベントにイベント ハンドラを追加し、位置を 1 つ前方に移動するための次のコードを追加します。

    Private Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Button3.Click
    
        Me.CustomersBindingSource.MoveNext()
    End Sub
    
    private void button3_Click(object sender, System.EventArgs e)
    {
        this.customersBindingSource.MoveNext();
    }
    

最後のレコードに移動するには

  • Button4 ボタンの Click イベントにイベント ハンドラを追加し、最後のレコードに移動するための次のコードを追加します。

    Private Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Button4.Click
    
        Me.CustomersBindingSource.MoveLast()
    End Sub
    
    private void button4_Click(object sender, System.EventArgs e)
    {
        this.customersBindingSource.MoveLast();
    }
    

アプリケーションのテスト

ブックをテストして、データベース内のレコード間を移動できることを確認できます。

ブックをテストするには

  1. F5 キーを押してプロジェクトを実行します。

  2. 最初のレコードがセル A1 とセル B1 に表示されることを確認します。

  3. [>] (Button3) ボタンをクリックし、次のレコードがセル A1 とセル B1 に表示されることを確認します。

  4. 他のスクロール ボタンをクリックして、レコードが適切に変わることを確認します。

次の手順

このチュートリアルでは、名前付き範囲をデータベース内のフィールドにバインドする際の基本事項について説明します。次に行う作業は以下のとおりです。

参照

処理手順

チュートリアル : ドキュメント レベルのプロジェクトでの複合データ バインディング

概念

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

その他の技術情報

Office ソリューションにおけるデータ