数値計算の結果がマイナス(負の値)になった際に「0」として表示・登録する方法・設定手順
数値計算の結果がマイナスになった際に「0」として扱うには、以下2つの方法があります。
運用に合わせて最適な方法を選択してください。
最適な構築手法の選び方・判断基準
- マイナスの場合は登録自体をエラーにして防ぎたい場合
➔ 1. 項目設定の「最小値」を利用するが適しています。計算結果がマイナスになると保存時にシステムエラーを表示して入力を制限します。
<メリット> 追加の自動処理設定が不要で、最も簡単に設定できます。不正な数値のままレコードが保存されるのを確実に防げます。
<デメリット> マイナス値を自動で「0」に変換して保存する機能ではないため、ユーザーが手動で数値を修正してエラーを解消するまで保存ができません。 - マイナスの場合は自動的に「0」に書き換えて登録したい場合
➔ 2. 自動処理で「0」を上書きするが適しています。計算用の隠し項目と表示用の項目を分けることで、画面上に「0」を表示・保持させることが可能です。
<メリット> ユーザーがエラーを意識することなく、システムが自動的にマイナス値を「0」に置き換えて登録・表示できます。四則演算の結果がマイナスになった場合でも、実務上の「0表記」を自動化できます。
<デメリット> 計算用の項目と表示用の項目の2つを用意する必要があり、自動処理の設定も必要です。
各手段の詳細と設定手順
1. 項目設定の「最小値」に「0」を設定して、マイナス値の登録自体をブロックする
【設定箇所】 データベース設定 > 基本設定 > 項目設定
手順:
1. 対象の「数値計算」項目の「設定」ボタンをクリックします。
2. 詳細設定画面の「最小値」欄に「0」を入力します。
3. 「確定」ボタンをクリックして保存します。
※この設定により、計算結果がマイナス(0未満)になった状態で「確定」ボタンを押すと、「'項目名'の計算結果が'0'以上の数字になるように入力してください」というシステムエラーが表示され、登録がブロックされます。
2. 数値タイプの項目を別途用意し、自動処理の条件分岐でマイナス判定時に「0」を上書き登録する
【設定箇所】 データベース設定 > 機能設定 > 自動処理設定
手順:
1. 必要な項目を用意する
データベースの項目設定にて、以下の2つの項目を作成します。
・判定用の計算項目(数値計算タイプ):実際の四則演算(例:売上-原価)を行う項目です。この項目は計算専用のため、一覧画面等では非表示にすることを推奨します。
・表示用の結果項目(数値タイプ):実際に画面上で「0」や計算結果を表示・保持させるための項目です。
2. 自動処理を作成する
判定用の計算結果がマイナスかどうかを判定し、表示用項目に値を登録するフローを作成します。
1. 「条件分岐」パーツを配置します。
条件:【選択レコード】判定用の計算項目 が (直接入力)「0」 「未満」
2. YESルート(結果がマイナスの場合)に「レコード更新」パーツを配置します。
更新内容:【表示用の結果項目】に (直接入力)「0」 を割り当てます。
3. NOルート(結果が0以上の場合)に「レコード更新」パーツを配置します。
更新内容:【表示用の結果項目】に 【選択レコード】判定用の計算項目 の値を割り当てます。
3. 実行タイミングを設定する
メニュー設定の「入力画面自動処理設定」にて、作成した自動処理を「登録」および「編集」の確定時に実行されるよう設定します。
※これにより、「確定」ボタンを押した瞬間にマイナス判定が行われ、表示用項目に正しい値(0または計算結果)がセットされます。
関連マニュアル
詳細な仕様の違いや作成手順については、下記記事をご確認ください。
数値計算項目の基本的な設定方法
数値計算タイプで利用可能な計算方法や、最小値・最大値による入力制限の仕様について解説しています。
項目設定:項目タイプ「数値計算」
入力画面確定時に自動処理を動かすメニュー設定
「確定」ボタンを押すタイミングで、レコードの保存と同時に計算結果を上書きさせるための設定手順です。
メニュー設定:レコード一覧タイプ(レコード入力画面に関する設定)
(記事ID:2819)
「項目設定」の関連記事一覧
こちらの記事もあわせてご確認ください。
- 明細が1行も存在しない「見出しのみのレコード」を抽出する方法・設定手順
- ファイル項目や自動生成ファイルの保存先サーバー(URL)とセキュリティ仕様について
- 項目タイプ「数値計算」でパーセント表示の小数点や丸め処理(四捨五入など)を正しく反映させる方法・設定手順
- 入力・閲覧画面のテキストをワンクリックでクリップボードにコピーしたい
- 項目タイプ「選択肢(1件選択)」のプルダウンに表示される検索窓(虫眼鏡)を非表示にしたい
- 「従属項目」に文字数制限を設定し、制限超過をエラー表示したい
- レコード入力・編集画面からDBリンク(参照)先のレコード情報を直接編集する方法はあるか
- [ログインしているユーザー] を担当者項目の初期値として自動表示させる方法・設定手順
- 一つのテキスト項目に入力されている値(氏名を「姓」と「名」など)を異なる項目に分けて保存・出力する方法