<第9回> |
コントロールを読み取り専用にする 兵庫県立西宮香風高等学校 松本吉生 ymatsumoto@hyogo-c.ed.jp |
<<前のページへ | |||
データを変更させたくない場合 | |||
繰り返しテーブルの初期状態は、どのフィールドも変更可能になっている。「年月日」は日付の選択コントロールになっており、カレンダーアイコンをクリックすると日を選択できるし、「曜日」はテキストボックスのコントロールなのでキーボードからの文字入力で変更できる。 | |||
|
|||
|
|||
しかしこのテーブルは、学校の一年間の日程で、授業のある日とない日を区別するものであるから、日付を変更したり曜日を変える必要はない。というよりも日付や曜日は変更してはいけないデータである。 このように特定のフィールドのデータをユーザーに変更させたくない場合、コントロールのプロパティで「読み取り専用」を使うことができる。 |
|||
テキストボックスコントロールを読み取り専用にする |
|||
曜日フィールドの「テキストボックス」コントロールを右クリックし「テキストボックスのプロパティ」をクリックすると、プロパティウィンドウが表示される。 |
|||
|
|||
曜日フィールドの「テキストボックス」コントロールを右クリックし「テキストボックスのプロパティ」をクリックすると、プロパティウィンドウが表示される。 「表示」タブにある「読み取り専用」チェックボックスにチェックし「OK」ボタンをクリックする。 |
|||
|
|||
|
|||
フォームをプレビューし、データを呼び出して「曜日」フィールドを変更しようとしても変更できないことを確かめよう。 フィールドを右クリックしても、「切り取り」や「コピー」などの編集メニューがグレーアウトして使えないことがわかる。 |
|||
|
|||
日付の選択コントロールを読み取り専用にする |
|||
では次に「日付の選択」コントロールを読み取り専用にしてみよう。テキストボックスコントロールの場合と同様に、プロパティを開いてみる。 プレビューしたフォームを閉じ、フォームの編集画面で「年月日」フィールドの「日付の選択」コントロールを右クリックし、「日付の選択のプロパティ」をクリックする。 |
|||
|
|||
日付の選択のプロパティで「表示」タブを開いても「読み取り専用」チェックボックスは見当たらない。このようにコントロールによっては設定できるプロパティが異なるものがある。「条件付き書式」ボタンをクリックしよう。 |
|||
|
|||
「条件付き書式」には何も設定されていない。「追加」ボタンをクリックして新しく「書式設定の条件」を作成しよう。 |
|||
|
|||
条件付き書式では、まず条件を判定する対象になるフィールドを決める。ここでは「年月日」のフィールドがデフォルトで設定されており、ここはこのままでよい。 次に対象フィールドの値がどうであれば書式を変えるのかという条件を決める。これは次のようにドロップダウンリストから選択する。 この場合は、値によって条件を変える必要はなく、どんな場合でも読み取り専用になればよいので「が存在する」を選択する。 |
|||
|
|||
条件の設定ができたら、「読み取り専用」のチェックボックスにチェックを入れ、「OK」ボタンをクリックして設定を終了する。 |
|||
|
|||
「条件付き書式」のウィンドウでは、次のように書式設定の条件ができていることが確認できる。「OK」ボタンで設定を終了し、次の「日付の選択のプロパティ」ウィンドウも「OK」ボタンで閉じる。 |
|||
|
|||
フォームをプレビューし、データを呼び出して「年月日」フィールドのカレンダーアイコンをクリックしてみよう。日付の選択カレンダーコントロールが開かないはずだ。 またフィールドを右クリックしても、「切り取り」や「コピー」などの編集メニューがグレーアウトして使えないことがわかる。 |
|||
|
|||
このページのまとめ | |||
このページでは、InfoPathの繰り返しテーブルでデータの変更をさせたくないコントロールを「読み取り専用」にすることを説明した。コントロールによってはプロパティに「読み取り専用チェックボックス」がないものもあるが、その場合は「条件付き書式」を利用して読み取り専用にすることができる。次回は条件付き書式を活用し、データを視覚的に把握しやすいように工夫する。 なお、このページでは、特に断りのない限り、Access2003とInfoPath2003を使って説明している。クライアントコンピュータのOSはWindowsXPで、サーバは特に使っていない。 | |||
mailto:ymatsumoto@hyogo-c.ed.jp :←ここをクリックして筆者にメールを送る | |||
matsumotoyoshio.com 2008/2/29 | |||