サポート > リポジトリ > 関数 > モデル参照

ja | en

モデル参照に関する5個の関数を紹介します。

ISEMPTYR7.4 |  SELECTED |  CHECKED |  EXACT |  CONTAINS |  ISNULL |  制約

ISEMPTY(項目名)

項目に値が入っているかどうかを判定します。未入力の場合は true を返します。入力済の場合は false を返します。

数値型で必須項目の場合は、必ず初期値 0 が入っているため、ISEMPTY の戻り値は常に false になります。

参照連動型項目にも対応しています。

例:参照連動型項目 refitem1 が未入力かどうかをチェックする。

IF(ISEMPTY(${refitem1}), "未入力です","値があります")

SELECTED(リストボックス/ラジオ型項目名)

リストボックス、ラジオボタンの未選択を判定します。 引数に指定した項目の値が選択されていた場合に true を返します。そうでなければ false を返します。

モデルに含まれるリストボックス/ラジオ型項目、またはSUMやCOUNTなどの条件部に用いることができます。条件部のみ、外部キー子モデルの要素を指定することができます。

例:リストボックス項目 mrefmodel の選択状態を判定する

IF(SELECTED(${mrefmodel}), "選択されています","未選択です")

例:繰り返しコンテナ内のリストボックス項目 mrefmodel の選択状態を判定する

IF(SELECTED(${cont/cmrefmodel}), "選択されています","未選択です")

例:外部キーの子モデルの条件部にて、選択されていないものを数える

COUNT(${Child_lp}, "SELECTED(${Child_lp.mrefmodel})==false")

CHECKED(チェックボックス型項目名)

チェックボックス項目の、選択されている数をかぞえます。戻り値は整数型です。

モデルに含まれるチェックボックス型項目、またはSUMやCOUNTなどの条件部に用いることができます。条件部のみ、外部キー子モデルの要素を指定することができます。

例:チェックボックス型項目の選択肢を数える。

CHECKED(${checkboxitem})

例:親モデル側で、外部キー子モデルのチェックボックスが一つ以上選択されている子モデルのみを数える。ここではCHECKED関数を直接、記述しない。

親モデル側で、外部キー子モデルのチェックボックスを直接、引数に指定することはできません。
このため次の例では子モデル側に、チェックボックスの数を記録する項目 checkednum を用意しています。 また、同項目を一覧表示に加え、かつ隠し項目としています。

COUNT(${Child_lp}, "${Child_lp.checkednum}>0")

EXACT(チェックボックス型項目名, 値)

第一引数のチェックボックス型項目で最初に選択された値が第二引数の値と等しいかどうかを返します。戻り値は boolean 型(真/偽) です。

例:チェックボックス型項目でチェックされた最初の選択肢の(内容部が)A かどうかを調べる。

EXACT(${checkboxitem}, "A")
EXACT(${checkboxitem#content}, "A")

例:チェックボックス型項目でチェックされた最初の選択肢の(ID部が)1000 かどうかを調べる。

EXACT(${checkboxitem#id}, 1000)

この関数は文字列処理でも説明しています。

CONTAINS(チェックボックス型項目名#array, 取得パターン, 値)

第一引数のチェックボックス型項目で複数の選択された値が第三引数の値と等しいかどうかを返します。戻り値は boolean 型(真/偽) です。第一引数は項目名の後ろに "#array" を付与する必要があります。第二引数には "id" または "content" を指定します。それぞれ ID 部か内容部かを指定します。

例:チェックボックス型項目でチェックされた選択肢に(ID部が)1000 が含まれているかどうかを調べる。

CONTAINS(${checkboxitem#array}, "id", 1000)

例:チェックボックス型項目でチェックされた選択肢に(内容部が)"A" が含まれているかどうかを調べる。

CONTAINS(${checkboxitem#array}, "content", "A")

ISNULL(項目名)

指定した項目の、値が存在しない(未設定)かどうかを調べます。

この関数はSUMやCOUNTなどの条件部にのみ、用いることができます。

例:親モデル側で、外部キー子モデルのストア参照項目(参照先は日付型)attendance_date が未設定のデータを数える。

COUNT(${attendance_lp}, "ISNULL(${attendance_lp.attendance_date})")

例:繰り返しコンテナ内のストア参照項目(参照先は日付型)cont/cdate が未設定のデータを数える。

COUNT(${cont}, "ISNULL(${cont/cdate})"})

  • 参照先モデルが複合主キーの場合、これらの関数は利用できません。
  • 入力チェック(ユーザー定義式)ではCOUNT,SUMなどの集合演算を行うことができません。そのためCOUNT,SUM関数の条件部にSELECTEDやISNULL関数を指定するような使い方もできません。
ja | en