みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
FM19で登録されている時間に重複がある場合に
カスタムダイアログで「重複しています」を表示させたいです。
■既に登録されているデータ
9:00~10:00
14:00~15:00
■登録しようとするデータ
①9:00~10:00 →登録可能
②9:00~15:00 →登録NG
このような場合にどうすればよろしいでしょうか?
照合したい対象は、どこにありますか。
Offline
たぶん、同じテーブルにレコードを追加する際にチェック、ということだと思いますが、
>①9:00~10:00 →登録可能
の意味がわかりません。全く同じデータが既にあるのに重複でないというのは、何を重複とみなすのでしょうか?
全く同じもの「だけ」はOKで、範囲がずれて重なってるとNG?
「2つ(以上)の既存レコードと重なってる時間がある」のがNG?
重複しているパターンは3個あるので、それをチェックすればいいでしょうね。
一つは、自分より早く始まって遅く終わるもの、次が、途中で終わるもの、最後が、途中で始まるもの
それぞれ、TS0<TS1 and TE1<TE0、TS1<TE0<TE1,、TS1<TS0<TE1 を見つければいいことになります。このリレーションを張ればいいのでは。
Offline
3パターンもいらないですよ。
重複していないのは、
自身の始まりよりも早く終わる
または
自身の終わりよりも遅く始まる
これから、重複は
自身の始まりよりも遅く終わり
かつ
自身の終わりよりも早く始まる
どちらでもいいでしょう。
Offline
ご返信ありがとうございます。
教えて頂いた内容でリレーションを張って
判定処理をいれてみます。
ありがとうございました。
確かに、裏を考えた方が簡単でしたね。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 553.41 KiB (Peak: 581.27 KiB) ]