みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ある施設の予約時間入力レイアウトを作り込んでいます。ユーザー入力した予約希望の時間帯が他の予約と重なっていないかをチェックして予約可否を判定したいのです。
レイアウト設定で自動保存をオフにして試しておりますが、たとえばユーザーがボタンを押したタイミングでチェックするというようなことができないでしょうか。
Offline
他の予約を含めて一元管理しているのでしたら、そんなに難しいことではないでしょうね。
自分の予約のリストを抽出し、タイムスタンプで、開始時刻以前の終了時刻のもの、終了時刻以降の開始のものを除外して、該当レコードがあれば重複ありになります。
同様の操作を予約項目に対しておこなえば、予約の空きのデェックになります。
それらをじょうずに組み合わせ琉と、タイムバーの中で予約を管理できたりしますよ。
Offline
重複をリレーションで判定する様にすれば、
時刻入力時点ですぐ判定できます。
リレーションは
開始時刻 <= 終了時刻
and
終了時刻 >= 開始時刻
and
レコード ID ≠ レコード ID (ユニークな値のもの、自身のレコードを照合から排除のため)
として、
この関連レコードが有れば重複です。
Offline
sinさん、チポさん回答ありがとうございます。
おかげさまで重複チェックのロジックはカスタム関数で完成できました。
スクリプトステップにその関数を組み込んで単体動作は良好です。
ここからがファイルメーカー初心者であるがゆえに悩んでいます。
当初の質問は言葉足らずですみません。この意味合いを少し変えますと
①レイアウト設定で自動保存のチェックがオンであると、ユーザーの操作次第では
空レコードが増えてしまいます。
②レイアウト設定で自動保存のチェックがオフであると、ユーザーの操作次第では
何回もレコードを保存するかどうか聞いてきます。
レイアウトには確定ボタンを用意しております。
ユーザーがボタンをクリックするまで、レコードを保存するかどうか聞いてこないような仕組みはないでしょうか
よろしくお願いします。
Last edited by maeyati (2019-11-19 13:24:20)
Offline
レコードを作らないで、グローバルフィールドに入力、
「確定」で新規レコードを作成、グローバルの値を移す。
ではいかがでしょう。
Offline
チポさん、早速ありがとうございます。
そうですか、グローバルフィールドを
一時格納場所として使うのですね。
早速 トライしてみます。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.010 seconds, 7 queries executed - Memory usage: 508.96 KiB (Peak: 515.71 KiB) ]