開始日と終了日の逆転や過去日の入力による登録をブロックする方法
概要
「楽楽販売」では、「開始日より終了日が前の場合は登録させない」「現在日時より過去の日付は登録させない」といった日付の比較による登録制御ができます。
「日時と日時の計算」項目と「数値計算」項目の最小値制限を組み合わせることで、指定した条件を満たさないデータの登録をブロックできます。
日付の比較による登録ブロックの仕組み
「日時と日時の計算」項目は、直接「最小値」や「最大値」の制限を設定できません。
そのため、「日時と日時の計算」項目で算出した差分を「数値計算」項目で数値化し、その「数値計算」項目に最小値制限(「0」以上)をかけることで登録をブロックします。
補足
登録制御の基本ロジック
- 計算結果が「0以上(正の数)」:正常に保存できます。
- 計算結果が「マイナス(負の数)」:エラーが表示され、登録がブロックされます。
事例①:開始日と終了日の逆転による登録をブロックする設定手順
「終了日」が「開始日」よりも前の日付で入力された場合に登録をエラーにする場合を例として設定手順を説明します。
<設定箇所>
DB設定>基本設定>DB項目設定
1. 比較する「日時」項目を用意する
比較対象となる2つの項目を用意します。
- 「開始日」項目(項目タイプ:「日時」)
- 「終了日」項目(項目タイプ:「日時」)
2. 2つの項目の差分を計算する「日時と日時の計算」項目を作成する
2つの項目の日付差を計算する項目を作成します。
- DB項目設定画面にて、「項目追加」ボタンをクリックします。
- 項目タイプで「日時と日時の計算」を選択し、項目名(【例】「期間チェック」など)を入力します。
- 詳細設定画面の「計算する項目」にて、計算式に「終了日 - 開始日」を指定します。
- 単位を条件に合わせて指定します。(日単位で比較する場合は「日」を選択)
- 画面下部の「確定」ボタンをクリックして保存します。
3. 「数値計算」項目で数値化し最小値制限を設定する
「日時と日時の計算」項目の結果を数値に変換し、最小値の制限を設定します。
- DB項目設定画面にて、再度「項目追加」ボタンをクリックします。
- 項目タイプで「数値計算」を選択し、項目名(【例】「期間判定用」など)を入力します。
- 詳細設定画面の「計算する項目」にて、計算式に「【手順2で作成した項目名】 + 直接入力『0』」を指定します。
- 「最小値」の欄に「0」を入力します。
- 画面下部の「確定」ボタンをクリックして保存します。
事例②:現在日時より前の過去日の登録をブロックする設定手順
「入力日」が「現在日時」より前の日付(過去日)の場合に登録をエラーにする設定手順です。
<設定箇所>
DB設定>基本設定>DB項目設定
- 比較対象となる「現在日時」項目と「入力日」項目(いずれも「日時」項目)を用意します。
- 「日時と日時の計算」項目を追加し、計算式に「入力日 - 現在日時」を指定します。
- 「数値計算」項目を追加し、計算式に「【手順2で作成した項目名】 + 直接入力『0』」を指定し、最小値に「0」を設定します。
設定テンプレート
設定内容が確認できるテンプレートは下記をクリックしてダウンロードしてください。
テンプレート_開始日と終了日の逆転や過去日の入力による登録をブロックする方法
登録エラー時の画面表示と注意点
設定後、条件を満たさない(計算結果がマイナスになる)入力を行ってレコードを保存しようとすると、画面上に以下のエラーメッセージが表示され登録がブロックされます。
表示されるエラーメッセージと仕様について
表示されるエラーメッセージ:
'(最小値を設定した数値計算項目名)'の計算結果が'0'以上の数字になるように入力してください。
- エラーメッセージの文言を変更することはできません。
- 入力画面でユーザーに分かりやすくするため、数値計算項目の名称を「期間エラーチェック」など目的が伝わる名称にしておくことを推奨します。
(記事ID:2405 )
「項目設定」の関連記事一覧
こちらの記事もあわせてご確認ください。
- ログインユーザの所属部署のみを選択肢(DBリンク項目)に動的表示させる「リンク先レコードの絞り込み」設定手順
- 入力制限でロックされている項目にも初期値を反映させるメニュー設定の「強制登録」機能の活用方法と設定手順
- 入力画面での不整合な入力や未入力を未然に防ぐ入力チェックの構築方法
- 既存データベースに項目を追加・変更するときのよくある問い合わせと解決方法
- 「物理削除」と「論理削除」の違いとは?(「論理削除」の設定方法)
- 「ファイル」項目に登録したファイルをダウンロードせずにブラウザでプレビューすることは可能か
- 「数値計算」項目の結果に「+」や「-」の符号を自動で表示する方法・設定手順
- 顧客マスタの顧客IDを自動採番に変更する方法・設定手順
- DBリンク項目の検索で「完全一致」に近い候補のみを表示したい
- データベースのプルダウンに登録・表示できる選択肢の上限数