レコード入力画面にて、項目同士の比較による入力制限や、条件による入力項目の必須/任意コントロールをかけることは可能か

「楽楽販売」で項目同士の比較による入力制限や、条件に応じた必須/任意コントロールを実現するには、以下3つの方法がございます

ユーザーの運用に合わせて最適な方法を選択してください。単に「入力できないようにする」だけでなく、計算結果が不正な場合にエラーメッセージを表示させて保存をブロックするなどの工夫が可能です。

最適な構築手法の選び方・判断基準

・日付や数値の大小を比較してエラーにしたい場合(例:終了日が開始日より過去、入荷数が未入荷数より多いなど)
1. 計算項目と最小値設定を組み合わせるが適しています。
 計算結果がマイナスになる場合に「最小値未満」としてシステムが保存をブロックします。

・特定の条件の時だけ入力を許可したい場合(例:項目Aが「はい」の時だけ項目Bを入力させる)
2. レコード入力画面の「入力制限」機能を利用するが適しています。
 条件に合致しない間は項目をグレーアウトさせ、入力を受け付けない状態にします。

・入力可能な時だけ「必須」にしたい場合
3. 入力制限とメニュー設定の必須項目設定を組み合わせるが適しています。
 標準の項目設定で必須にするとグレーアウト時も必須チェックがかかってしまいますが、メニュー設定を併用することで回避可能です。


各手段の詳細と設定手順

1. 計算項目と最小値設定を組み合わせる(項目同士の大小比較)

<メリット>
「開始日 > 終了日」や「入荷数 > 未入荷数」といった、2つの項目間の整合性をリアルタイムでチェックし、不正なデータの登録を確実に防ぐことができます。

<デメリット>

比較専用の計算項目をデータベースに追加する必要があります。また、エラーメッセージを任意の文言に変更することはできません。

【設定箇所】 [データベース設定] > [基本設定] > [項目設定]

設定手順(日付比較:終了日が開始日より過去にならないようにする場合)

1. 差分を計算する項目を作成する
「日時と日時の計算」タイプの項目(例:前後チェック用)を追加し、詳細設定で「終了日 - 開始日」の計算式を設定します。

2. 数値として判定する項目を作成する
「数値計算」タイプの項目を追加し、計算方法で「四則計算」を選択します。計算する項目に「1.で作成した項目 + 直接指定 0」を設定します。

3. エラー判定の設定を行う

作成した数値計算項目の設定画面にて、「最小値」に「0」を入力し、「必須」にチェックを入れます。
※これにより、終了日が開始日より過去(=差分がマイナス)になると、保存時に「最小値未満です」というエラーが表示され、登録を阻止できます。

設定手順(数値比較:入荷数が未入荷数を超えないようにする場合)

1. 差分を計算する項目を作成する
「数値計算」タイプの項目(例:在庫整合性チェック)を追加し、計算する項目に「未入荷数 - 入荷数」を設定します。

2. エラー判定の設定を行う

該当項目の設定画面にて、「最小値」に「0」を入力します。
※入荷数に未入荷数より大きな値を入力すると、計算結果がマイナスになり、確定ボタン押下時にエラーが発生します。

2. レコード入力画面の「入力制限」機能を利用する(条件付き入力許可)

<メリット>
項目Aの選択内容に応じて項目Bの入力可否を動的に切り替えられます。入力不要な項目をグレーアウトさせることで、ユーザーの迷いを減らせます。

<デメリット> 項目を非表示にするのではなく、あくまで「入力不可(グレーアウト)」の状態にする設定です。

【設定箇所】 [データベース設定] > [表示設定] > [レコード入力画面設定]

設定手順(項目A が 「はい」の時のみ、項目Bの入力を許可する場合) 

1. 該当のレコード入力画面設定の「設定」ボタンをクリックします。
2. 入力を制御したい項目(項目B)の右端にある「設定」ボタンをクリックします。
3. 「条件に一致したときのみ入力可能にする」にチェックを入れます。
4. 条件指定にて、トリガーとなる項目(項目A)の条件(例:項目A が 「はい」 と等しい)を設定し、「確定」します。

3. 入力制限とメニュー設定の必須項目設定を組み合わせる(条件付き必須)

<メリット>
「項目Aが特定の時だけ、項目Bを必須入力にする」という高度な制御が可能です。

<デメリット>
データベース全体の項目設定ではなく、メニュー単位での設定が必要です。

【設定箇所】 [データベース設定] > [基本設定] > [メニュー設定]

設定手順

1. 入力制限をかける
上記「2.」の手順で、項目Bに対して「項目Aが特定の時だけ入力可能」になるよう設定します。

2. メニュー単位で必須にする

[メニュー設定] > 該当メニューの「設定」 > [入力項目設定] の「設定」をクリックします。
項目Bを選択して追加し、編集画面で「この項目を必須項目にする」にチェックを入れます。
※この組み合わせにより、項目Bがグレーアウト(入力不可)の時は必須チェックがスキップされ、入力可能になった時のみ必須として機能します。


関連マニュアル

詳細な仕様の違いや作成手順については、下記記事をご確認ください。

レコード入力画面でのレイアウトや入力制御に関するマニュアル

入力制限(条件付き入力許可)の具体的な設定画面や、項目の並び替え方法について解説しています。
レコード入力画面設定

数値計算項目でのエラー判定(最小値・最大値)に関するマニュアル

計算結果に制限をかけ、不正な値の入力を防ぐ設定方法について詳しく説明しています。
項目設定:項目タイプ「数値計算」

メニューごとに独自の入力ルール(初期値・必須)を設ける方法

データベース全体の共通設定ではなく、特定のメニューから入力する際だけ必須にするなどの制御方法です。
メニュー設定:レコード一覧タイプ(レコード入力画面に関する設定)

(記事ID:2551)