<第3回>

開始ページを作る

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

ymatsumoto@hyogo-c.ed.jp

 
<<前のページへ
 
フィールドの作成
   
 

このページでは、問題を始める前に、学籍番号と氏名を入力するページを作る。まず学籍番号や氏名を入力するフィールドをデータソースに作成する。そして学籍番号が7桁の数字であるとして、入力された学籍番号をチェックし、パターンと一致しなければ再入力をうながす仕掛けを作る。

まず「ビュー」作業ウィンドウで、「開始ページ」が選択されていることを確認する。データソースを作るには、現在のビューがどれであっても同じ作業ができるが、データソースを作った後、ビューにデータコントロールを作成するので、後からビューを切り替えるよりも、ここでビューを確認したおくのが間違えなくてよいだろう。このビューには「小テストを始める」のボタンだけができている。

作業ウィンドウを「データソース」作業ウィンドウに切り替えるため、「データソース」をクリックする。

   
 
   
 

「データソース」作業ウィンドウになった。まだ何もフィールドが作成されていないので「マイフィールド」という最上位のレベルを示すアイコンだけができている。

「マイフィールド」をクリックして選択すると「追加」ボタンが有効になり、フィールドを追加することができる。「追加」ボタンをクリックする。

   
 
   
  「フィールドまたはグループの追加」ウィンドウが表示された。
   
 
   
  「名前」を「化学小テストの解答」とし、「種類」を「フィールド」に変更する。
   
 
 
 
   
  「繰り返し」のチェックボックスをオンにする。単に解答を記録するだけなら繰り返しグループを作る必要はないが、このフォームは一人分の解答を記録するフォームであると同時に、解答を集計するときにも使いたいからだ。グループを「繰り返し」にしておくと、保存された複数のInfoPathフォーム、すなわちXMLドキュメントを「フォームの結合」という操作で簡単にまとめることができる。
   
 
   
  「化学小テストの解答」の繰り返しグループができた。
   
 
   
  次は、このグループに「学籍番号」と「氏名」を記録するフィールドを作る。「化学小テストの解答」グループを選択して「追加」ボタンをクリックする。
   
 
   
  「フィールドまたはグループの追加」ウィンドウが表示された。「名前」を「学籍番号」とし、学籍番号を記録するフィールドとする。学籍番号は数字だが、ゼロで始まる場合もあるので、データ型は「テキスト」のままにしておく。
   
 
 
   
 

「化学小テストの解答」グループの中に「学籍番号」のフィールドができた。

氏名のフィールドを作るために、もう一度「追加」ボタンをクリックする。

   
 
   
  「名前」を「氏名」とする。
   
 
 
   
  「学籍番号」と「氏名」のフィールドができた。
   
 
 

 

繰り返しセクションの作成
   
 

「学籍番号」と「氏名」を、このビューで入力できるようにする。「コントロール」作業ウィンドウから選んで作成する方法もあるが、ここではフィールドをビューにドラッグして「繰り返しセクション」を作ることにする。

「化学小テストの解答」繰り返しグループをビューにドラッグすると、「繰り返しテーブル」「コントロール付き繰り返しセクション」「繰り返しセクション」「マスタと詳細」のどれを作成するかを選択できる。「コントロール付き繰り返しセクション」を選ぶと、「学籍番号」と「氏名」にバインドされたテキストボックスを含んだ繰り返しセクションができる。

   
 
   
  繰り返しセクションができた。
   
 
   
繰り返しセクションのプロパティ
   
 

次に繰り返しセクションを右クリックし、「繰り返しセクションのプロパティ」を設定する。

   
 
   
  「繰り返しセクションのプロパティ」で、「規定の設定」の「ユーザーによるセクションの挿入と削除を許可する」のチェックを外す。解答者が誤って繰り返しセクションに対して、追加や削除をしてしまわないようにするためだ。
   
 
 
   
 

「繰り返しセクション」のプロパティを変更した。編集中の画面には変化がないが、これでいい。

   
 
   
  「小テストをはじめる」のボタンを、繰り返しセクションの下に、マウスでドラッグして移動する。
   
 
 
   
  ボタンを移動させた後には、小テストを始めることと、学籍番号と氏名の入力が必要なことを説明する文を書く。
   
 
   
動作規則の設定
   
 

「学籍番号」が7桁の数字であるとして、入力された形式が合っていなければ、学籍番号の再入力をうながして、問題に進めない仕掛けを、「動作規則」と「条件の設定」で作る。

「動作規則」と「条件の設定」は、学籍番号のテキストボックスに設定することもできるが、ここではボタンに対して設定することにする。「小テストをはじめる」のボタンを右クリックして「プロパティ」を選ぶ。

   
 
   
 

「ボタンのプロパティ」ウィンドウが開く。「動作規則」のボタンをクリックする。

   
 
   
  このボタンにはすでに「問題1へ移動する」の動作規則が設定してある。動作規則は複数設定できるので、このまま「追加」ボタンをクリックして新しい動作規則を追加する。
   
 
   
  「動作規則」のウィンドウが開いた。まず「名前」をわかりやすい名前に変更する。
   
 
   
  「名前」を「学籍番号の入力チェック」とした。
   
 
   
条件の設定
   
 

次に「条件の設定」を行う。「条件の設定」ボタンをクリックすると、「条件」のウィンドウが表示される。

   
 
   
 

ここには3つのドロップダウンリストボックスがあり、この3つの設定の組み合わせてひとつの条件を設定することになる。

ここでは「学籍番号」のフィールドに対して、7桁の数字というパターンに一致しないとき、という条件を設定する。まず最初のリストボックスから、条件を設定する下になるものを選ぶ。

   
 
   
  最初のドロップダウンリストボックスでは「マイフィールド」「式」「ユーザの現在のロール」「署名データブロックの選択」「フィールドまたはグループの選択」を選ぶことができる。ここでは「学籍番号」のフィールドを選択するため、「フィールドまたはグループの選択」を選択する。
   
 
   
  「フィールドまたはグループの選択」ウィンドウが表示されるので、「化学小テストの解答」グループをクリックして展開する。
   
 
   
  「学籍番号」のフィールドを選択して「OK」ボタンをクリックする。
   
 
   
  最初のリストボックスに「学籍番号」のフィールドが指定できた。次に、2つめのリストボックスを設定しよう。
   
 
   
  2つめのリストボックスでは、条件判断の選択ができる。ここでは入力された値のパターンが指定したものでないときに特別の動作をさせたいので、「が次のパターンと一致しない」を選択する。
   
 
   
  2つめのリストボックスが設定できた。最後に3つめのリストボックスを設定する。
   
 
   
  「パターンの選択」をクリックする。
   
 
   
  「データ入力のパターン」ウィンドウが表示された。「電話番号」など規定でいくつかの「標準パターン」があるが、ここでは「カスタムパターン」を指定する。
   
 
   
 

カスタムパターンの記述方法は、標準パターンを参考にするか、ヘルプの「コントロールへのデータ入力パターンを指定する」を参照する。だが、あまり多くのバリエーションは書かれていないので、思い通りのパターンを記述するには、ある程度の試行錯誤が必要だろう。

ここでは7桁の数字を指定するため、次のパターンを記述した。

   
 
\d{7}
   
 
   
  最初のリストボックスにフィールドの設定、2番目のリストボックスに条件の設定、3番目のリストボックスに条件の詳細が設定ができた。
   
 
   
動作の追加
   
 

条件の設定ができたら、その条件に合致したとき、どんな動作を行うかを指定する。「動作の追加」ボタンをクリックしよう。

   
 
   
 

「動作」のウィンドウで、どのような動作をさせるかを設定する。まず、ドロップダウンリストボックスをクリックすると動作を選択することができるが、ここではデフォルトの「ダイアログボックスメッセージを表示する」のままで、メッセージの内容を「学籍番号は7桁の数字です」とし、注意をうながすことにする。

   
 
 
   
 

動作が設定できた。ここでは、条件に合わない入力があったとき、つまり学籍番号に間違いがあったときは、問題に進めないようにしたいので、「この動作規則が完了したら規則の処理を停止する」のチェックボックスにチェックし、「OK」をクリックする。

   
 
 
   
動作規則の適用順
   
 

動作規則にはすでに「問題1へ移動する」の動作規則ができているが、動作規則は上にあるものから適用されることになる。

問題1に移動する前に学籍番号のチェックを行い、条件に合っていなければ動作をストップする、というようにしたいので、「問題番号の入力チェック」の規則を選択し、「上へ移動」のボタンをクリックして上に移動する。

   
 
 
   
 

「学籍番号の入力チェック」が上になり、まず入力チェックが行われるようになった。

   
 
   
 

「OK」ボタンをクリックすると「ボタンのプロパティ」ウィンドウに戻る。これで設定は完了だ。「OK」ボタンをクリックしてビューの編集に戻ろう。

   
 
   
動作規則の確認
   
 

ビューの編集に戻ったら、設定した動作規則が正しく機能するか、「フォームのプレビュー」ボタンをクリックして確認しよう。

   
 
   
このページのまとめ
   
 

データソースにフィールドを設定し、学籍番号と氏名を記録できるようにし、入力規則で学籍番号の入力が間違いないかをチェックするビューを作った。動作規則や条件の設定は、リストボックスから選択するだけで多様な設定ができることがわかったはずだ。

次回から小テストの問題作成をしていく。基本的には今回やった作業と同じで、解答を入力するデータフィールドを作り、ビューでは動作規則と条件の設定する、というものである。

なお、このページでは、特に断りのない限り、Excel2003とInfoPath2003SP1を使って説明している。Excelの旧バージョンはXMLの対応が完全ではないので、同様の結果が得られないことをあらかじめ断っておく。筆者のメールアドレスはymatsumoto@hyogo-c.ed.jpだ。

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