たとえば、次のような2つのマスターテーブルがあり、[カテゴリー]に入力した値により、[商品]のデータの入力規則の比較対象がどちらかのテーブルに動的に切り替わる動作を実現したい場合、データの入力規則においてIF関数とODATA関数を使用します。
果物_マスターテーブル
ID | Product |
1 | リンゴ |
2 | バナナ |
デバイス_マスターテーブル
ID | Product |
1 | スマートフォン |
2 | タブレット |
リストビューの商品を入力するセルのデータの入力規則を次のように設定します。
=IF(E4=1,ODATA("果物_マスターテーブル/$count?$filter=product eq "&IF(ISBLANK(H4),"null","'"&H4&"'"))>0,IF(E4=2,ODATA("デバイス_マスターテーブル/$count?$filter=product eq "&IF(ISBLANK(H4),"null","'"&H4&"'"))>0,FALSE))
この設定により、次の動作が実現されます。
- [カテゴリー]に「果物」を選択した場合、[商品]に入力できる値は「りんご」か「バナナ」です。
- [カテゴリー]に「デバイス」を選択した場合、[商品]に入力できる値は「スマートフォン」か「タブレット」です。
- [カテゴリー]を選択していない場合、[商品]に何を入力しても入力値検証エラーとなります。
添付のプロジェクトファイルは、8.0.5.0以降のForguncy Builderで読み込むことができます。
検索キーワード: fgchowto fgcdevelopment