[Windowsシステム運用] InfoPath−SQL Server連携で構築するC/Sシステム 第1回 InfoPathをSQL Serverに接続する4.ドロップダウン・リストでセカンダリ・データソースを利用する兵庫県立西宮香風高等学校システム管理課長Microsoft MVP for InfoPath 松本 吉生 2007/01/25 |
|
|
セカンダリ・データソースの利用
このようにして作ったフォームで「仕入れ先」で抽出するためには、テキストボックスに仕入れ先名を入力しなければならないが(前ページの最後の実行例では「A商会」と手動入力している)、テキストボックスをドロップダウン・リストボックスにすると、マウス操作で仕入れ先を選択できるようになる。コントロールの種類を変更するには、テキストボックスを右クリックし、表示されるポップアップ・メニューの中から[変更]−[ドロップダウン・リストボックス]を選択する。
コントロールの種類を変更する | ||||||
コントロールの種類を変更するには、変更したいコントロールを右クリックし、[変更]メニューの中から選択する。 | ||||||
|
ドロップダウン・リストボックスの[プロパティ]では、リストボックス項目として3つの方法が選択できる(次の画面参照)。デフォルトは[リストボックス項目を手動で入力する]だが、せっかくデータベースを使っているのだから、リストボックス項目もデータベースに保存しておき、フォームを開いたときにデータベースから呼び出すことにしよう。リスト項目をコントロールに手動で入力した場合は、後からリスト項目を変更したいとき、そのつどフォームを編集し直さなければならないが、データベース側に置いた場合は、データベース側でリスト項目を変更するだけでフォームに反映されるようになる。これは、データベースに対して複数のフォームを作って運用する場合や、複雑なフォームを作ったときに、リスト項目を統一的に管理できる大きなメリットがある。
ドロップダウン・リストボックスのプロパティ | |||
リストボックス項目として3つの方法が選択できる。デフォルトでは[リストボックス項目を手動で入力する]になっている。 | |||
|
ここでまず、InfoPathでリストボックス項目を設定する前に、SQL Serverにリストボックス項目を保存するテーブルを作る。テーブル名は「仕入れ先」とし、フィールド「会社名」に仕入れ先名称データを保存しておく。
会社名 |
A商会 |
B商会 |
C商会 |
リストボックス項目として使うテーブル |
SQL Serverにこのテーブルを作り、テーブル名を「仕入れ先」としておく。ここでは3つのレコードを定義している。 |
テーブルを作ったら、このテーブルをフォームから接続してドロップダウン・リストボックス項目として利用するには、データ接続を新しく作る。データ接続を追加するには、ツール・バーから[ツール]メニューの[データ接続]をクリックしてデータ接続ウィンドウを表示し、[追加]ボタンでウィザードを開始する。
|
フォーム作成時に最初に作ったデータ接続は「メイン・データソース」といい、データの送信と受信、クエリを行うことができる。しかし2つ目以降に作るデータ接続は「セカンダリ・データソース」といい、データの送信と受信のいずれかでしか利用できない(ただしデータの送信ではSQL Serverに接続できない)。
セカンダリ・データソースのデータ接続ウィザード | ||||||
セカンダリ・データソースでは「受信」か「送信」かのどちらかを選択する。 | ||||||
|
データ接続ウィザードは、メイン・データソースを作るときとほぼ同じ手順で進む。ウィザードが完了したら、セカンダリ・データソースとして先に作った「仕入れ先」テーブルに接続することができ、データソース作業ウィンドウで確認することができる。セカンダリ・データソースは、先に述べたように、クエリを実行することができないので、queryFieldsはなくdataFieldsだけが存在する。
データソースの確認 | |||||||
データソース作業ウィンドウでデータソースを変更し、セカンダリ・データソースを確認することができる。セカンダリ・データソースにはクエリを行うためのqueryFieldsがない。 | |||||||
|
セカンダリ・データソースを作れば、これをドロップダウン・リストボックスの項目として利用できる。ドロップダウン・リストボックスの[プロパティ]を開き、リストボックス項目を[データ接続の値をデータベース、Webサービス、ファイル、SharePointライブラリ、またはリストで参照する]に変更する。そしてデータ接続をセカンダリ・データソースの「仕入れ先」に変更、エントリはSQL Serverのテーブルにバインドされた「仕入れ先」繰り返しグループにする。値と表示名は自動的に「@会社名」となるので確認する。
ドロップダウン・リストボックスのプロパティ | ||||||||||||
データ接続にセカンダリ・データソースを指定すると、リストボックス項目をデータベースから取得することができる。 | ||||||||||||
|
以上の設定後[フォームのプレビュー]を実行すると、次のように、「仕入れ先」をドロップダウン・リストボックスから選択できる。
ドロップダウン・リストボックスの利用 | |||
ドロップダウン・リストボックスの項目に、データベースの値を利用することができた。 | |||
|
■
今回はInfoPathからSQL Serverに接続する方法と、データ接続について説明した。次回はデータ接続を編集する方法を取り上げる。
INDEX | ||
[Windowsシステム運用]InfoPath−SQL Server連携で構築するC/Sシステム | ||
第1回 InfoPathをSQL Serverに接続する | ||
1.InfoPathからSQL Serverのストアド・プロシージャを呼び出す | ||
2.SQL Serverに接続するためのデータ接続を作成する | ||
3.データ接続の確認とフォームでの利用 | ||
4.ドロップダウン・リストでセカンダリ・データソースを利用する | ||
運用 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|