関係性のないリストボックスを計算によって連動させる

最終更新日: 2020年3月14日
R8 | R9

サンプルの顧客モデルに「血液型」項目と「血液型説明」項目を用意しています。血液型が"(未選択)"の場合、説明欄は空白です。

図1 サンプルの登録画面

「血液型」を選択すると、これに対応した説明文が表示されます。(図2,図3)

図2 血液型を選択する
図3 説明文が表示される

定義方法

この例の特徴は、「血液型」モデルと「血液型説明」モデルにはデータベースの観点から関連性をもたせていないことです。計算式によって表示するIDを特定させます。

図4 今回のサンプルで用いたモデル

血液型モデル

「選択肢モデル(初期データ固定)」としています。

図5 血液型モデルの初期値

血液型説明モデル

「選択肢モデル(初期データ固定)」としています。

図6 血液型説明モデルの初期値

顧客モデル

「血液型」項目ならびに「血液型説明」項目を用意します。

図7 顧客モデル

血液型項目

血液型モデルをリストボックス形式で参照します。

図8 血液型項目(モデル参照)

このリストボックスには"(未選択)"を用意します。

図9 未選択を用意する

血液型説明項目

血液型説明モデルをリストボックス形式で参照します。参照連動ではありません。また、血液型モデルと(データベースの項目による)絞り込み設定もありません。

図10 血液型説明項目(モデル参照)

このリストボックスには"(未選択)"を用意しません

図11 未選択を用意しない

式の設定

血液型説明項目に式を設定します。血液型の選択肢(ID部)の値によって、自身の表示内容を制御します。血液型が未選択状態の場合、自身をnullとします。(この項目は未選択を用意しないため、図1のような空白表記になります。)

図12 式の設定
IF(${bloodtype#id}==1,
   1,
   IF(${bloodtype#id}==2,
     2,
     IF(${bloodtype#id}==3,
     3,
       IF(${bloodtype#id}==4,
       4,
       null
       )
     )
   )
)

式を設定するため、この項目は自動的に「読み込み専用」となります。リストボックスとしては動作しません。