HYPER-TOMIX2

特別支援教育・情報教育・チャレランのMix!

Written by: on 2010/08/31 @ 22:04

MicrosoftSQLServerとMicrosoftInfoPathで,データベースシステムの「個別の指導計画」を開発するために,InfoPath上でSQLServerに作ったテーブルをリレーションシップで関連付ける

1.「リレーションシップ」とは

データベースの複数のテーブルをあるフィールドと関連付けて連動するようにする仕組み。

2.テーブルのリレーションシップを設定する

データ接続の管理
image

データ接続 のウィンドウから「変更」
image

データ接続ウィザードで「テーブルの追加」
image

追加するテーブルを選び,次へ
image

リレーションシップの編集で,IDフィールド同士のリレーションシップを残して削除
image
image

テーブル基本Tにテーブル国語Tがリレーションシップで関連付けられた状態
image

※リレーションシップで関連付けられているフィールド

基本TテーブルのIDフィールドとその他のテーブルのIDフィールドが連動するようにリレーションシップとなっている。
基本TテーブルのIDフィードのデータと同じものが,自動的にその他のテーブルのIDフィールドに入力され,データが連動するようになる。
 image

注意! 最初のテーブルから階層的にハイパーリンクを設定しないこと。階層構造のハイパーリンクにしてしまうと,InfoPathからSQLServerにデータを送信することができなくなる。
image

すべてのテーブルを,基本Tテーブルの直下としてハイパーリンクの設定をして次へ。
image

この接続での送信を有効にするのチェックがONになっていることを確認して,「完了」
image image

基本Tテーブルにすべてのテーブルがリレーションシップで設定された状態
image

3.リレーションシップが設定されていることでどうなるのか

テーブルを配置してみる

基本Tが表示されている表に下の行を数行増やし
image 

年度Tテーブルのアイコンの上で右クリック→「繰り返しテーブル」
image

年度Tテーブルのフィールドが一列になって挿入される
image

同様に,目標T,国語Tも入れてみる
image

4.プレビューでクエリの結果を表示させる(仮データの入力とデータの保存)

4-1.InfoPathからの複数テーブルへのデータ入力

セキュリティに関する通知が表示されたら,「はい」
image

image

「項目の挿入」をクリック
image

行が表示される
image

仮のデータを入力してみる
image

その他のテーブルについても同様に「項目の挿入」で行を表示させ,仮のデータを入力
image

ツールバーの「送信」をクリック
image

「フォームは正しく送信されました。」と表示が出る。→「OK」
image

InfoPathから入力したデータがSQLServerに送られ保存された状態
image

基本TテーブルのIDと同じ値が自動的に他のテーブルのIDの欄に入力されている
image

各テーブルのIDフィールドは,基本TのIDフィールドとリレーションシップするよう設定したが,リレーションシップを設定したフィールド同士が連動するのである

4-2.他のデータでも試してみる

「メニューボタン」で最初の画面(ビュー1)にもどる

名前を書きかえて,クエリimage

「項目の挿入」で列を表示させて,仮のデータを入力し「送信」
image

「大島なぎさ」のID b10-005 が各テーブルのIDフィールドに自動で入力される
image

※TIDも自動で数字が入力される。この数字はIDとは何の関連もない。主キーとしてデータが入力されるたびに連番で数字が入力されるようSQLServerで設定しているためである。

※IDフィールドによって各テーブルは基本Tテーブルとリレーションシップされる。基本TのIDフィールドに入力した生徒番号と同じIDのレコードを呼び出し表示させている仕組みである。

Catogories: SQLServerとInfoPath

Comments are closed.