カスタマイズ

時刻が時間内に入っているかチェックする

概要

時刻フィールドが一定の時間範囲内に入っているかどうかチェックします。

使い方

指定された時刻フィールドの値が指定の時間範囲内に入っているかどうかチェックし、範囲外であればそのフィールドにエラーを表示します。

エラーがあった場合、エラーが発生したフィールドのフィールドコードのリストがアクションの結果値となります。エラーがなかった場合は空のリストがアクションの結果値になります。テーブル内フィールドを指定した場合、アクションの結果としてはテーブルの一番下の行に対する結果のみが残ります。他の行の結果は反映されないので注意が必要です。

設定するパラメーター

「フィールド」「開始時刻」「終了時刻」「日付込みでチェックするか」「エラーメッセージ」を設定します。

フィールド

どのフィールドをチェックするかを選択します。

  • 複数のフィールドを選択すると、それらすべてのフィールドを個々にチェックします。
  • テーブル内のフィールドを指定した場合、特別な場合(*1)を除き、テーブル内のすべての行がチェックされます。

(*1) 条件側で、「フィールドの値を編集して値が変わった時」のように、テーブル行を限定するように条件が入っている場合は、対象の行だけチェックされます。

選択可能なフィールドタイプは以下の通りです。

  • 時刻
  • 日時

開始時刻

時間範囲の開始時刻を入力します。

終了時刻

時間範囲の終了時刻を入力します。

日付込みでチェックするか

フィールド値や開始時刻、終了時刻に日付が含まれる場合に、日付を含めて範囲をチェックするかどうかを指定します。

「日付は無視して時刻部分のみ比較」の場合、フィールド値、開始時刻、終了時刻に日付が含まれていても、日付部分は除去して時刻部分だけで比較します。

例えばフィールド値が「2019-11-17 10:00」、開始時刻が「2019-11-18 08:00」、終了時刻が「2019-11-20 18:00」の場合、「日付を含めて比較」の場合は範囲外になるのでエラーになりますが、「日付は無視して時刻部分のみ比較」の場合、「10:00」「08:00~18:00」でチェックしますので、エラーにはなりません。

「日付を含めて比較」の場合、フィールド値、開始時刻、終了時刻のそれぞれに日付が含まれるか否かによってチェック方法が変わります。

  • 「日付は無視して時刻部分のみ比較」
    ⇒ フィールド値、開始時刻、終了時刻に含まれる日付はすべて無視して時刻部分のみで比較
  • 「日付を含めて比較」
    • フィールド値、開始時刻、終了時刻すべてに日付が含まれる場合
      ⇒ 日付を含めて比較
    • フィールド値に日付が含まれ、開始時刻、終了時刻すべてに日付が含まれない場合
      ⇒ 時刻部分のみ比較
    • フィールド値に日付が含まれ、開始時刻、終了時刻の片方だけに日付が含まれる場合
      ⇒ 開始時刻、終了時刻の日付が含まれないほうをもう片方と同じ日付とみなす
    • フィールド値に日付が含まれない場合
      ⇒ 開始時刻、終了時刻の日付部分は無視して、時刻のみで比較

開始時刻が終了時刻より未来になっている場合は注意が必要です。

  • 「日付は無視して時刻部分のみ比較」は「終了時刻<フィールド値<開始時刻」であればエラーになります。
    • 例えば開始時刻が「23:00」、終了時刻が「01:00」のような日付をまたぐような時間範囲を想定しています。 この例の場合、「00:00~01:00」はOK、「01:01~22:59」はエラー、「23:00~23:59」はOK、となります。
  • 「日付を含めて比較」の場合、常にエラー

エラーメッセージ

エラーがあった場合に表示するエラーメッセージを入力します。

krewSheet 対応状況

以下の「条件」時のみ対応しています。

2つ以上のエラーを同時にセットすることはできません。後からセットしたエラーの方が krewSheet に表示されます。