<第12回>

リレーションシップを使ったビューのデザイン

兵庫県立西宮香風高等学校 松本吉生

ymatsumoto@hyogo-c.ed.jp

 
<<前のページへ
 
繰り返しテーブルの作成
   
 

評価や欠席時間数を記録した「tbl_seiseki」テーブルに加えて、学籍番号と生徒名を記録した「tbl_seito」テーブルをつくり、リレーションシップを構成した「データソース」を設定するまでを前回に行った。今回はその続きで、リレーションシップをビューの中でどう組み立てるかを説明する。

データソースからフォームテンプレートを作り、「データビューを最初にデザインする」を選択し、「データ入力ビュー」のデザインモードを起動したところが下の画面である。

表示するデータを表の形で見せるのがわかりやすいので、「繰り返しテーブル」を配置しよう。右側の「データソース」作業ウィンドウで「コントロール」をクリックする。

   
   
  「コントロールの挿入」に利用できるコントロールが並んでいる。「繰り返しテーブル」のコントロールは少し下にあるので、必要ならばスクロールしてアイコンをクリックする。
   
   
  「繰り返しテーブルのバインド」ウィンドウが表示され、まずどのテーブルとバインドするのかを選択する。ここで表示させたいのは、成績や欠席時間数を記録した「親テーブル」である「tbl_seiseki」である。「DataFields」の「tbl_seiseki」をクリックして選択し、「次へ」ボタンをクリックする。
   
 
   
 

次に繰り返しテーブルに表示させたいフィールドを選択する。ここでは「子テーブル」を指定することができるので、テーブルを展開し、「tbl_seito」の「seito_nm」をまず選択し、「追加」ボタンをクリックする。「seito_nm」のフィールドは、生徒の氏名のフィールドである。

   
 
   
 

続いて「seito_cd」、「kamoku_cd」、「kesseki」、「hyoka」、「hyotei」の項目を選択し「追加」していく。追加された項目は、右側の「表示する列」に列挙されていく。

必要な項目を指定できたら「完了」ボタンをクリックする。

   
 
   
 

繰り返しテーブルに各フィールドが設定された。

   
   
クエリビューのデザイン
   
  次に「クエリビュー」をデザインする。作業ウィンドウを「ビュー」に切り替え、「ビューの選択」で「クエリ」をクリックする。
   
   
  クエリビューはデフォルトで次のようなデザインのものがあらかじめできている。このクエリビューでいま使いたい機能は「クエリの実行」ボタンだけなので、まず「クエリの実行」ボタンを選択し、繰り返しセクションの外に出しておくことにしよう。
   
   
 

「クエリの実行」ボタンが「繰り返しセクション」の外に出たら、「繰り返しセクション」全体を選択して「delete」ボタンを押して削除する。

これで「クエリビュー」は「クエリの実行」ボタンだけになった。「フォームのプレビュー」ボタンをクリックしてプレビューしてみよう。

   
 

 

クエリの実行
 

 

  フォームのプレビューを行うと、次のように「クエリの実行」ボタンだけがあるビューが表示される。「クエリの実行」ボタンをクリックしてみよう。
   
   
 

規定のビューである「データ入力ビュー」が表示された。「クエリの実行」の結果であるが、何も条件を指定していないので、登録されているすべてのデータが表示されている。

生徒氏名は成績テーブルではなく別の「子テーブル」のデータであるが、この繰り返しテーブルで「seito_nm」のフィールドが「seito_cd」とリレーションシップを持って表示されていることがわかる。

   
   
このページのまとめ
   
 

このページでは、親テーブルと子テーブルのリレーションシップを確立したデータソースからリレーションシップを使ったビューをデザインしてみた。リレーションシップはデータソースを構成する段階で設定するので、ビューのデザイン時には特別な操作を必要としないことがわかったはずだ。次は「子テーブル」のデータをクエリのドロップダウンリストに表示させ、より実際的な「子テーブル」の使い方をしてみる。

最近ときどきメールをいただくようになって、このページを見てくれる人も増えてきているように感じている。なかなか更新がはかどらないが、現時点では最もわかりやすいInfoPathの実例ページだと自負しているので、これからもお付き合いいただきたい。

InfoPathとSQL Serverのページは次回で終了とさせていただく。そして新たにXMLツールとしてのInfoPathの基本のシリーズと、エクセルやアクセスなどオフィス製品とInfoPathの接点を探るシリーズ、さらに何名かの方から要望のあったコミュニティの場としてメーリングリストを始める予定だ。

なお、このページでは、特に断りのない限り、サーバはWindows 2000 Server と SQL Server 2000、クライアントはWindows XP Professional と Info Path 2003、を使って説明していく。筆者のメールアドレスはymatsumoto@hyogo-c.ed.jpだ。

       
  mailto:ymatsumoto@hyogo-c.ed.jp :←ここをクリックして筆者にメールを送る
       
 
matsumotoyshio.com 2004/06/08