みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM18でOSはwindows10です。
よろしくお願いします。
フィールドは
・開始時間(時刻)
・終了時間(時刻)
・休憩時間(分表記)
と3つ作ってあり、
休憩時間は10:00~10:10で10分、12:00~12:40で40分、15:00~15:10で10分、17:00~17:10で10分あります。
開始時間と終了時間の間に上記の休憩時間をまたいだ場合、その時間を休憩時間に表示したいです。
例をいくつか挙げると
開始時間 9:00~終了時間12:50の場合→休憩時間50分
開始時間10:10~終了時間15:15の場合→休憩時間50分
開始時間12:50~終了時間15:15の場合→休憩時間10分
のように出したいです。
作業は1日で区切られるので日をまたぐということはありません。
作業は人ごとで開始時間、終了時間ともに毎日変わります。固定ではありません。
どうかご教示の程、よろしくお願いします。
開始時刻、終了時刻
が休憩時間中ということがありますか?
Offline
開始時刻、終了時刻
が休憩時間中ということがありますか?
開始時刻はありませんが、終了時刻が休憩時間中の時もありました。
ベタベタな式ですが、、
Case ( 開始時刻 ≤ Time ( 10 ; 0 ; 0 ) ;
Case ( 終了時刻 ≥ Time ( 17 ; 10 ; 0 ) ; 60 ;
終了時刻 ≥ Time ( 17 ; 0 ; 0 ) ; 50 + Minute ( 終了時刻 ) ;
終了時刻 ≥ Time ( 12 ; 40 ; 0 ) ; 50 ;
終了時刻 ≥ Time ( 12 ; 0 ; 0 ) ; 10 + Minute ( 終了時刻 ) ;
終了時刻 ≥ Time ( 10 ; 10 ; 0 ) ; 10 ;
終了時刻 ≥ Time ( 10 ; 0 ; 0 ) ; Minute ( 終了時刻 ) ;
0 ) ;
開始時刻 ≤ Time ( 12 ; 0 ; 0 ) ;
Case ( 終了時刻 ≥ Time ( 17 ; 10 ; 0 ) ; 50 ;
終了時刻 ≥ Time ( 17 ; 0 ; 0 ) ; 40 + Minute ( 終了時刻 ) ;
終了時刻 ≥ Time ( 12 ; 40 ; 0 ) ; 40 ;
終了時刻 ≥ Time ( 12 ; 0 ; 0 ) ; Minute ( 終了時刻 ) ;
0 ) ;
開始時刻 ≤ Time ( 17 ; 0 ; 0 ) ;
Case ( 終了時刻 ≥ Time ( 17 ; 10 ; 0 ) ; 10 ;
終了時刻 ≥ Time ( 17 ; 0 ; 0 ) ; Minute ( 終了時刻 ) ;
0 )
)
Offline
休息開始 休息終了 休息時間
10:00 10:10 10
12:00 12:40 40
15:00 15:10 10
17:00 17:10 10
という別のテーブルを作って、
開始時刻 < 休息開始
終了時刻 > 休息終了
というリレーションでそのテーブルを参照し、時間を合計してみるといいかも。
Last edited by Shin (2023-12-21 16:34:06)
Offline
ああ、前式、
15時の休憩を忘れていました。
同じ考え方で入れてください。
Offline
休息開始 休息終了 休息時間
10:00 10:10 10
12:00 12:40 40
15:00 15:10 10
17:00 17:10 10
という別のテーブルを作って、
開始時刻 < 休息開始
終了時刻 > 休息終了
というリレーションでそのテーブルを参照し、時間を合計してみるといいかも。
リレーションを使った方法もあるのですね。
一度この方法でも試してみます。ありがとうございます。
ああ、前式、
15時の休憩を忘れていました。
同じ考え方で入れてください。
こちらの方で少し手を加えまして、思ったような表示をすることができました。
ありがとうございました。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 519.98 KiB (Peak: 524.52 KiB) ]