明細行が未入力(1行も登録しない)での登録を制限する方法・設定手順
明細行数をカウントする「数値計算」項目をヘッダに作成し、最小値を設定することで制御可能です
項目設定で明細項目に対して「入力を必須にする」と設定しても、それは「明細行を追加・編集する際」にのみ機能するチェックとなります。
そのため、明細行を1行も追加せずにレコード全体の「確定」ボタンを押した場合には、必須チェックがかからず、明細が空のまま登録できてしまいます。
この挙動を回避し、必ず1行以上の明細入力を必須にするには、ヘッダ項目を用いて明細の行数をチェックし、計算結果が一定の基準を満たさない場合にエラーを出す仕組みを構築する必要があります。
設定手順(常に1行以上の明細入力を必須にする場合)
すべてのレコードにおいて、明細が1行も無い状態での登録を禁止する手順です。
【設定箇所】 左パネル > 対象のデータベース > 設定(スパナアイコン) > 基本設定 > 項目設定
1. 明細行数をカウントする項目を作成する
「項目設定」画面にて、以下の内容で項目を追加します。
・項目名:明細行数チェック(任意の名称)
・タイプ:数値計算
・明細項目にする:チェックを入れない(※必ずヘッダ項目として作成してください)
2. 計算式と制限値を設定する
作成した項目の「設定」ボタンをクリックし、詳細設定画面にて以下の通り設定します。
・計算方法:「(明細の)レコード数」を選択
・計算する項目:「明細」を選択
・最小値:「1」を入力
・必須:「入力を必須にする」にチェックを入れる
この設定により、明細が0行の状態で保存しようとすると「'明細行数チェック'の計算結果が'1'以上の数字になるように入力してください」というエラーが表示され、登録をブロックできます。
※運用途中でこの設定を追加した場合は、既存レコードに対しても「一括再計算」を実行して、現在の行数をシステムに認識させる必要があります。
関連マニュアル
詳細な仕様の違いや作成手順については、下記記事をご確認ください。
数値計算項目の詳細な設定方法と最小値・最大値の制限について
数値計算タイプで利用可能な計算ロジックや、エラーメッセージが表示される条件について解説しています。
項目設定:項目タイプ「数値計算」
1レコードに入力できる明細行の数を制限する具体的な活用例
ヘッダ項目で行数をカウントし、上限や下限を設ける際の考え方が記載されています。
1レコードに入力できる明細行の数を任意の行数に制限することは可能か?
(記事ID:2823)
「項目設定」の関連記事一覧
こちらの記事もあわせてご確認ください。
- 入力制限において正規表現を用いた柔軟な入力チェックを設定する方法
- ログインユーザの所属部署のみを選択肢(DBリンク項目)に動的表示させる「リンク先レコードの絞り込み」設定手順
- 入力制限でロックされている項目にも初期値を反映させるメニュー設定の「強制登録」機能の活用方法と設定手順
- 入力画面での不整合な入力や未入力を未然に防ぐ入力チェックの構築方法
- 既存データベースに項目を追加・変更するときのよくある問い合わせと解決方法
- 「物理削除」と「論理削除」の違いとは?(「論理削除」の設定方法)
- 「ファイル」項目に登録したファイルをダウンロードせずにブラウザでプレビューすることは可能か
- 「数値計算」項目の結果に「+」や「-」の符号を自動で表示する方法・設定手順
- 顧客マスタの顧客IDを自動採番に変更する方法・設定手順
- DBリンク項目の検索で「完全一致」に近い候補のみを表示したい