一覧画面で数値や日付・時間を昇順に並べ替えたときに空欄を最後(下)にしたい

一覧画面で数値や日付などを昇順(小さい順・早い順)に並べ替えた際に空欄が上にきてしまう原因

「楽楽販売」の一覧画面において、数値や日付、時間などの項目を昇順(小さい順、早い順)に並べ替える設定にした場合、標準仕様では値が登録されていないレコード(空欄)が最上部に表示されます。

現在の「楽楽販売」の仕様では、単一の項目に対する昇順の並べ替え設定だけでは、空欄のレコードを最後(下)に表示することはできません。

昇順に並び替えつつ空欄のレコードを最後に表示する解決策

数値や日付・時間などの項目を昇順に並べつつ、値が入っていない空欄のレコードを最後(下)にまとめて表示したい場合は、ソート(並べ替え)専用の項目を1つ新設し、自動処理と組み合わせることで実現できます。

空欄のレコードを最後に表示するための設定手順

以下の3つのステップに沿って、項目の新設、一覧画面の設定、自動処理の設定を行ってください。

1. ソート用の「空欄フラグ」項目を新設する

並べ替えの対象となる項目に値が入っているかどうかを判別するための項目を新しく作成します。

設定箇所:DB設定>基本設定>項目設定

対象のDBに、以下の内容で項目を追加します。
項目名:空欄フラグ(任意の名称で問題ありません)
データタイプ:数値

2. 一覧画面の「初期表示並び順」を設定する

設定箇所:DB設定>表示設定>レコード一覧画面設定

対象の一覧画面の設定画面を開き、「初期表示並び順」を以下のように2段階で設定します。

  1. 初期表示並び順 1:「空欄フラグ」項目 / 並び順:「降順」
    (これにより、値があるデータ「1」が上に、空欄「0」が下に集まります)
  2. 初期表示並び順 2:並び替えの対象となる項目(数値、日付、時間など) / 並び順:「昇順」
    (これにより、値があるデータの中で、数値の小さい順や日時の早い順に並び替わります)

3. フラグを自動でセットする自動処理を作成・実行する

レコードの登録や更新があった際、自動で「空欄フラグ」に値をセットするための自動処理を作成します。

設定箇所:DB設定>機能設定>自動処理設定

条件分岐パーツを用いて、以下のルールで値を更新する自動処理を設定します。

  • 条件分岐パーツの条件:並び替えの対象となる項目が「値なし」と等しい
  • YES方向(値がない場合):レコード更新パーツで「空欄フラグ」に「0」をセット
  • NO方向(値がある場合):レコード更新パーツで「空欄フラグ」に「1」をセット

設定完了後、すでに登録されている既存のレコードに対しても一括でフラグを立てるために、この自動処理を一度実行してください。

条件分岐パーツの設定方法は下記記事をご覧ください。
自動処理設定:「条件分岐」パーツ

(記事ID:2398)