質問もビューから値を取得するように設計する

 質問についても、選択肢と同様に外部の文書で設定ができれば、メンテナンス性が向上します。色々な方法を学んでいただくため、選択肢設定のときとは若干方法を変えて、実現させたいと思います。とはいえ、質問設定用のフォームとビューを作成し、そこから情報を取得するという流れは一緒です。

現在、質問はフォーム上に直接記載されていますが、この設計を変更していきます。

1. 「回答選択肢設定のためのビューを作成する(隠しビュー)」の時と同様に、質問設定のためのフォームとビューを以下の通り作成します。(必要なだけ、質問文書も作成ください)

フォーム名 : 質問設定 | SetQuestions

フィールドの名前 フィールドの種類 用途
QuestionsNo 数値 編集可能 質問番号(ビュー上でソートにも使用するフィールド)
Question テキスト 編集可能 質問内容

ビュー名 : (SetQuestions)

列の名前 列の値 ソート設定 用途
質問No フィールド QuestionsNo 昇順でソート 質問番号(文書ソートにも利用)
質問内容 フィールド Question なし 質問の内容を表示する列

2. 「質問表」フォームの質問部分を削除し、Questions01フィールド作成時の計算結果)に置き換えます。画面例では質問が3つあるので、同様にQuestions02フィールド、Questions03フィールドを追加します。

5. 計算結果の値には「@DBLookup( ""; ""; "(SetQuestions)"; 2; 1)」と設定します。これは、「(SetQuestions)ビューの最初のソート列で1に合致するものの2列目の値を取得する」、という命令になります。

 同様に、Questions02フィールドには「@DBLookup( ""; ""; "(SetQuestions)"; 2; 2)」、Questions03フィールドには「@DBLookup( ""; ""; "(SetQuestions)"; 2; 3)」を設定します。

6. 質問表フォームの設計を保存し、Notesクライアントで新規に質問表文書を作成します。質問が設定文書どおりに表示されていれば完成です。(今までと見た目は変わりません)

前へ | Topへ | 次へ

inserted by FC2 system