初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2023-05-05 13:45:51

u1
Member

開始終了時刻範囲の判定

FileMaker Pro 19
macOS Ventura

テーブル内に「開始時刻」と「終了時刻」フィールドがあります。
例)
以下の値が入ったレコードがあるとします。
開始時刻 8:00
終了時刻 18:00

この場合、30分刻みで上記時刻(開始〜終了)の範囲内かどうかを判定したいと思います。
同一テーブル内に、以下の様な30分置きの判定フィールドを設置して、開始時刻と終了時刻の範囲内であれば "1" をセットしたいと考えています。
結果としては以下の様になって欲しいです。
・800_830 1
・830_900 1
・900_930 1
   ・
   ・
   ・
・1800_1830
・1830_1900

ご教授のほどよろしくおねがします。

Last edited by u1 (2023-05-05 15:49:58)

Offline

#2 2023-05-05 19:01:50

himadanee
Guest

Re: 開始終了時刻範囲の判定

結果のフィールドは繰り返しにした方が扱いが楽ってことはないですか?
計算式も1つで済みます。

#3 2023-05-06 06:56:25

u1
Member

Re: 開始終了時刻範囲の判定

himadaneeさん
繰り返しにする場合は以下のフィールドを作り、そこに計算式を設定し範囲に入る場合"1"を返す感じでしょうか。
フィールド:時刻範囲
繰り返し:26
※8:00-19:00までを30分おきに判定する場合

その場合の計算式ばどの様にすれば正しい結果が返るかご教授願えますでしょうか。

Offline

#4 2023-05-06 08:42:11

Shin
Member

Re: 開始終了時刻範囲の判定

私なら、48の繰り返しにしてしまいます。必要なところだけ抜き出せばいいです。
Int ( Div ( 時刻[1] ; 1800 ) ) = Get ( 計算式繰り返し位置番号 ) - 1
25繰り返しにするのでしたら、
Int ( Div ( 時刻[1] ; 1800 ) ) = Get ( 計算式繰り返し位置番号 ) + 13

Offline

#5 2023-05-06 16:22:20

himadanee
Guest

Re: 開始終了時刻範囲の判定

11時間なので繰り返しは22で足ります。

Let ( [
s = Time ( 7 ; 30 +  Get(計算式繰り返し位置番号) * 30 ; 0 ) ;
e = s + Time ( 0 ; 30 ; 0 )
] ;
Case ( s < 終了時刻[1] and 開始時刻[1] < e ; 1 )
)

時刻で比較してますが、番号に変換して(0800~0830が1になるように)比較した方が式は簡単かも。。。
開始終了時刻が30分単位でない場合はちょっと変わってきます。(上の式は少しでも入ってれば1になります)

#6 2023-05-08 10:36:03

チポ
Member

Re: 開始終了時刻範囲の判定

1を表示して、
その後に何をしたいのでしょう?

それによっては、繰り返しではまずい場合がありそうですが、、

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 511.66 KiB (Peak: 518.83 KiB) ]