Written by: tomi on 2010/08/09 @ 01:30
MicrosoftSQLServerとMicrosoftInfoPathで,データベースシステムの「個別の指導計画」を開発するために,InfoPathのビュー(ページ)を作成する |
1.「ビュー」とは
データベースからのデータの見せ方である。
複数のテーブルのデータを組み合わせたり,クエリによって必要なデータを絞り込んで,さまざま形でデータを配置するが,その見せ方を決めるのがビューである。
この後,個別の指導計画は,複数のテーブルのデータを組みわせ,クエリによってデータを必要な分だけ見せるように作っていく。
2.「個別の指導計画」ビューを作る
「ビューの追加」で新しいビュー名に「個別の指導計画」と入力して「OK」
白紙のページが表示され,「個別の指導計画」が追加される
※この白紙のページ(ビュー)に,最初に決めた個別の指導計画の枠を作り,フィールドを埋め込んでいく
3.メニュー画面のビュー名を変更する
「ビュー1(既定)」のビューを最初のページとして,名前などを選択するメニュー画面としたい。分かりやすくするため,ビュー名を変更する。
作業ウィンドウの「ビュー1(既定)」をクリックすると,前回作成した画面が表示される。
作業ウィンドウの下にある「ビューのプロパティ」をクリックすると,「ビューのプロパティ]ウィンドウが表示される。
ビュー名を「メニュー」と書き換えて「OK」
「ビュー1(既定)」が「メニュー(既定)」に書き換わる。
※「既定」は,InfoPathのフォームを開いたときに最初に表示させるページ(ビュー)である。今回はメニューを最初に表示させたいので,「メニュー]ビューを既定としている。
4.ビューを切り替えるボタンをつける
4-1.ビューを切り替えてみる
「プレビュー」をクリックしてみると,「メニュー」ビューが最初に表示される。
ここから「個別の指導計画」ビューに切り替えるためには,「表示」→「個別の指導計画」をクリックする。
4-2.ボタンの設置
ツールバーの表示で切り替えれば,ビューは切り替わるが,それでは実際に使う段階(フォームにデータを入力する段階)では,操作がわかりにくいため,メニュービューの中にビューを切り替えるためのボタンをつけることにする。
プレビューを閉じてデザインテンプレートに戻り,作業ウィンドウを「コントロール」に変更。
メニュービューの最下段をクリックしておき,作業ウィンドウから「ボタン」をクリックすると,ボタンが配置される。
※ただしまだこの状態でプレビューからボタンを押しても何も反応しない。この後,設置したボタンにビューを切り替えるための設定を行う。
4-3.ボタンのビュー切り替え設定
ボタンのプロパティウィンドウが表示される。
「動作規則」をクリック。
動作規則が設定できるウィンドウが表示される。
「追加」をクリック。
動作規則の一つ目を設定できる画面が表示される。
「動作の追加」をクリック。
ボタンをクリックしたときにどのような動きをするかを「動作」から選択することができる。
「ビューを切り替える]を選択する。
どのビューに切り替えるかが選択できる。
「個別の指導計画」ビューを選択して「OK」。
動作規則の一つ目を設定する画面に戻る。
「動作」の欄に先ほどビューの切り替えをしたことが表示されるので,確認したら,「名前」を「個別の指導計画切り替え」と書き換えて,「OK」。
動作規則に「個別の指導計画切り替え」があることを確認して,「OK」。
ボタンのプロパティに戻り,「ラベル」を「個別の指導計画」と書き換えて「OK」。
4-4.「個別の指導計画」ビューから「メニュー」へ戻るためのボタンをつける
作業ウィンドウをコントロールに切り替え,ボタンをクリックして配置する。
メニュービューに設置したボタンと同じように,ボタンに動作を設定する。
動作規則の名前を「メニュー切り替え」と書き換え,ラベルも「メニュー」と書き換えておく。
仮に「個別の指導計画」とタイトルを打ち込んでおく。
※このビューについては,後程作りこんでいくが,ビュー切り替えテストの確認のため仮にタイトルを入力しておいた。
4-5.動作確認
プレビューをクリックして,プレビューに切り替え,「個別の指導計画」のボタンをクリックしてみる。ビューの切り替えができるかどうか確かめるだけなので,ボタンだけをクリックする。
「メニュー」ボタンをクリックするとまたメニュービューに戻る。ボタンを押すことでビューが切り換えられる設定をすることができた。
5.クエリの結果を別のビューに表示させる
前回,データフィールドとして配置した部分を切り取り,個別の指導計画ビューに張り付ける。
プレビューに切り替え,どのようになるかを確かめる。
クエリフィールドに検索条件として名前を入力し,「クエリの実行」ボタンをクリックしてみる。
が,画面には何も変化がおこっていないように見える。
「個別の指導計画」ボタンをクリックしてみると,「個別の指導計画」ビューにクエリの結果が表示される。
メニューボタンをクリックすれば,先ほどの画面に戻る。
他のデータで試してみる。
クエリフィールドに条件を入れて,「個別の指導計画」ボタンをクリックしてみると,なぜかクエリの結果がちゃんと表示されない。
これは,「クエリの実行」ボタンをクリックしてクエリが更新されていないからである。
クエリフィールドに入力してから,「クエリの実行」をクリックして,「個別の指導計画」ボタンをクリックしてみると,ちゃんとクエリの結果が表示される。
6.ボタン一つでクエリの実行とビューの切り替えができるようにする
テンプレートに戻り,「クエリの実行」ボタンを削除。
「個別の指導計画」ボタンのプロパティを開く。
動作規則の「追加」。
「動作の追加」で,動作を「データ接続を使用してクエリを送信する」を選択。
「データ接続」は「メイン接続」を選択して,「OK」で戻る。
動作規則が二つになるが,「クエリの実行」と「個別の指導計画切り替え」の動作の順番を入れ替える。「クエリの実行」を選択して,「上へ移動」。
※クエリの実行 を行ってからビューを切り替えるため,動作の順番を入れ替えておく。
動作確認を行う。プレビューに切り替える。
クエリフィールドに条件を入力して,「個別の指導計画」ボタンをクリックすると,ビューが切り替わり,クエリの結果もちゃんと表示されるようになる。