1レコードに入力できる明細行の数を任意の行数に制限することは可能か?
明細項目自体に直接「登録できる明細の行数を制限する」機能は備わっていません。
そのため、初期状態のままではユーザーが1レコードに対して明細行を何行でも追加できてしまう仕様となっています。
【代替案】数値計算項目を活用し、明細行数を制限する
1レコードに入力できる明細行の数を「最大10行まで」のように上限を制限したい場合や、「必ず5行以上」のように下限を制限したい場合は、ヘッダ側に明細の行数を監視する数値計算項目を設け、その項目に「最大値」または「最小値」を指定する代替案で解決できます。
これにより、設定した明細行数の制限を満たさない不適切なデータの登録や更新をシステム的に未然に防ぐことができます。
明細項目に登録できる行数を任意の数に制限する具体的な設定手順
明細項目の登録行数を制限するためには、データベースの項目設定を変更する必要があります。以下の手順に沿って設定を行ってください。
手順1:行数制限を判定するためのヘッダ項目を追加する
対象データベースの項目設定画面にて、以下の内容で新しい項目を追加してください。
設定箇所:DB設定> 基本設定 > 項目設定
- 項目名:任意(例:「明細行数チェック」「明細上限確認」など)
- タイプ:数値計算
- 明細項目にする:チェックを入れない(※明細行全体の総数をカウントするため、必ずヘッダ項目として作成してください)
手順2:追加した数値計算項目に行数をカウントする計算式と制限値を設定する
手順1で追加した数値計算項目の「設定」ボタンをクリックし、詳細設定画面にて以下の通り設定を行ってから「確定」ボタンをクリックしてください。
- 計算方法:「(明細の)レコード数」を選択します。
- 最大値 または 最小値:制限したい任意の明細行数を入力します。
- 明細行数の上限を制限したい場合(例:5行まで):最大値に「5」と入力します。
- 明細行数の下限を制限したい場合(例:5行以上):最小値に「5」と入力します。
- 必須:「入力を必須にする」にチェックを入れます(※チェックを入れない場合、制限が正しく機能しない場合があります)。
設定した明細行数の制限を満たさない状態で入力画面を確定した場合のエラー表示
上記の設定を行うことで、ユーザーが明細行数の制限を満たさないままレコード入力画面の「確定」ボタンを押下して登録・更新をしようとしたとき、画面上部にシステムエラーが表示され、データの登録・更新がブロックされます。
設定した制限内容(最小値・最大値)に応じて、それぞれ以下のシステムエラー文言が表示されます。
- 最小値を「5」に設定した場合(明細行数が5行に満たないまま確定しようとしたとき)
表示されるエラーメッセージ:
「'○○(設定した項目名)'の計算結果が'5'以上の数字になるように入力してください。」 - 最大値を「5」に設定した場合(明細行数が5行を超えた状態で確定しようとしたとき)
表示されるエラーメッセージ:
「'○○(設定した項目名)'の計算結果が'5'以下の数字になるように入力してください。」
運用途中で明細行数の制限設定を追加する場合の注意点
運用途中でこの明細行数の制限設定をデータベースに追加した場合、過去に設定値から外れた明細行数で既に登録されている既存のレコードをユーザーが編集する際も、明細行数を制限値内に調整しなければ編集内容の更新を確定できませんのでご注意ください。
関連マニュアル
詳細な仕様や設定方法については、下記記事をご確認ください。
(記事ID:2482)
「入力画面設定/レコード入力タイプメニュー」の関連記事一覧
こちらの記事もあわせてご確認ください。
- 入力画面の明細行で空白行の挿入や背景色の変更は可能か
- 入力画面で「一括取得」ボタンを押すと画面が上に戻ってしまう場合の対策
- DBリンク項目の階層式選択(検索プルダウン)で特定の階層のみ初期値を設定することは可能か
- 同じ一覧メニューにおいて、特定項目の入力可否を新規登録時とレコード編集時で切り替えることは可能か
- レコード入力画面の「一時保存レコードを編集」をクリックした際に表示されるポップアップ画面の表示項目を変更する方法
- 入力制限の条件を明細項目同士で設定することができるか
- 入力内容に応じて別の項目をグレーアウトして編集できないようにしたい
- レコード入力画面にて、項目同士の比較による入力制限や、条件による入力項目の必須/任意コントロールをかけることは可能か
- レコード入力画面の項目制限設定で条件に指定できる項目
- 「特定の文字列から始まる」や「前方一致・後方一致」でキー項目を検索することは可能か