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

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

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

You are not logged in.

Announcement

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


#1 2014-05-24 05:36:02

PleaseHelp
Guest

条件式書式のアドバイスをお願いします。

現在、ちょっとづつ勉強してるのですが、条件式書式でどうやってもうまくいかず、悩んでおります。

■質問

*貸出テーブル:
本ID、貸出予定日、返却予定日

貸出レイアウトで、本ID:K01を2014/6/1~2014/6/2 まで借りたいレコードを作成しました。

*スケジュールテーブル:
本ID、フィールド1日目、フィールド2日目

スケジュールレイアウト:

スケジュールレイアウトには、グローバルフィールドでヘッダ部分にYYYYフィールド(年)、MM(月)のフィールドを用意し
2014年、6月と選択してたとします。

リスト形式で表示されている
本ID:K01レコードのフィールド1(1日目)、フィールド2(2日目)に
条件式書式で黒色をつけたいのですが、どうすればうまくいきますでしょうか?

以下のような感じでしたのですが、根本的に間違ってる気がして・・・

フィールド1(1日目):条件式_計算
貸出::貸出予定日  ≤ Main::YYYY & "/" & Main::MM & "/" &  "01"  and 貸出::返却予定日  ≥  Main::YYYY & "/" & Main::MM & "/" &  "01"

フィールド2(2日目):条件式_計算
貸出::貸出予定日  ≤ Main::YYYY & "/" & Main::MM & "/" &  "02"  and 貸出::返却予定日  ≥  Main::YYYY & "/" & Main::MM & "/" &  "02"

#2 2014-05-24 06:50:46

FM12始めたばかり
Guest

Re: 条件式書式のアドバイスをお願いします。

日付を数値に置き換えての計算が解りやすいと思います
計算用フィールドとして追加されてはいかがでしょうか

2014/6/1 → 20140601

デフォルトでは、リスト形式の色付けはなかったような?

#3 2014-05-24 08:54:54

Traveller
Guest

Re: 条件式書式のアドバイスをお願いします。

スケジュールテーブルが何のためにあるのかよく分からない。
フィールド1日目、フィールド2日目とは?

#4 2014-05-24 08:59:27

tim
Guest

Re: 条件式書式のアドバイスをお願いします。

>2014年、6月と選択
つまり1か月分のスケジュールの表示でしょう。
繰り返し31にした方が簡単そうだけど。
返却されるまでは次の貸し出しレコードはできないとして、過去の貸し出しの表示は不要か...

#5 2014-05-24 09:04:26

Moz
Member

Re: 条件式書式のアドバイスをお願いします。

スケジュールには 31までフィールドが作られるのでしょうかね。

書かれているとおりの仕様だとこんな感じでしょうか。

http://yahoo.jp/box/khL1nS

Last edited by Moz (2014-05-24 09:07:31)

Offline

#6 2014-05-24 09:32:40

keima
Member

Re: 条件式書式のアドバイスをお願いします。

どのタイミングで色を付けたいのかがわからないのですが。

> Main::YYYY & "/" & Main::MM & "/" &  "01" 
比べるのが日付なので Date ( Main::MM ; 1 ; Main::YYYY ) でよいのでは。
他には Evaluate ( Main::YYYY & "/" & Main::MM & "/" &  "01" ) とか。

ガントチャートにするなら、繰り返しのほうがいいのでは。

Offline

#7 2014-05-24 12:28:41

PleaseHelp
Guest

Re: 条件式書式のアドバイスをお願いします。

皆様、アドバイスありがとうございます。
仰るようにガントチャートのような形です。

FM12始めたばかり様、フィールドそれぞれに条件式を追加したいと考えております。

Traveller様、表示用のフィールドです。

tim様、仰るような仕様です。但し、過去と未来の予定も見たいと思っています。

keima様、なるほど、Date関数で日付を確定するのですね。

Moz様、サンプルのご提示助かりました。非常に参考になりました。
その上で、難点がいくつか。。

1:現在、Moz様にご提示頂いた方法で作成したところ、本IDに初めて追加された貸出データの値がスケジュール上で色づけされます。
  しかし2回目以降に同本IDに追加された貸出データの値に色が付きません。
  したいことは、過去、未来においても同じ本IDレコード上でみたいとおもっています。
  またスケジュールレイアウトの年、月を変更したら、その年・月に該当する貸出レコードと判定して色づけを行いたい感じです。

  例:
  (貸出1レコード目)本ID:06 2014/05/01~2014/05/06
  (貸出2レコード目)本ID:06 2014/05/08~2014/05/14
  (貸出3レコード目)本ID:06 2014/05/19~2014/05/21

  上記はあくまでも例ですが、貸出:3レコード分をスケジュールレイアウト:本IDレコード上の1~31こあるフィールドに
  複数レコード分色づけしたいと考えております。
  正直蓄積していけばもっと本IDに関連する貸出レコードは存在していきますが。。

  *貸出予定日、返却予定日の日付が重なることは絶対ございません。


2:現在、Moz様仰るとおりフィールド1、フィールド2・・・が31個ございます。
  繰返フィールドを使ってない理由は、特になく使ったことないので、単純にこういう場合、日付フィールドでするのかな?と
  日付フィールドを31個適当に作ってみた感じです。
 
  こういう場合、ベストなフィールドタイプは何でするべきでしょうか?またそれを繰返フィールドとしてするべきでしょうか?

#8 2014-05-24 13:52:34

Shin
Member

Re: 条件式書式のアドバイスをお願いします。

一時的な表示を行うだけの物ですので、各予約レコード毎に繰り返しフィールドへ展開し、それを集計する機構が最適だと思います。これですと、1回の設定で終わります。
ほぼ同じテーマがありましたので、参考にされると良いでしょう。
https://fm-aid.com/bbs2/viewtopic.php?id=962
サンプルフィアルを少し触ると、お望みの事がそのまま出来るはずです。
また、表示をクリックする事で、予約レコードを作成する動作が組み込まれています。

Last edited by Shin (2014-05-24 14:52:25)

Offline

#9 2014-05-24 17:04:24

Traveller
Guest

Re: 条件式書式のアドバイスをお願いします。

繰り返しとトリガを使った苦しいサンプル
1ヶ月以上の貸し出しには対応していません。
ダブルブッキングにも対応していません。

http://pupld.net/21/140524/dj8ccrd5ay/index.cgi
貸し出しリスト.fmp12

#10 2014-05-24 17:06:42

PleaseHelp
Guest

Re: 条件式書式のアドバイスをお願いします。

Shinさん、ありがとうございます。
サンプル見てみましたが、正直さっぱりわからず、ちょっと理解するのに時間が掛かりそうです。。

DBとフィールド定義等は未だ理解できませんが・・・
要するに、
貸出レコードをリスト形式でサンプルのように同IDののみを表示するレイアウトを用意して
その値をスケジュールに反映するという意味なのでしょうか。。

>>また、表示をクリックする事で、予約レコードを作成する動作が組み込まれています。
これも実装できたらなーと思ってたのですが、ご提示頂いたサンプルではできませんでした。

仰ってる意味がもしかして、まったく理解できてない可能性があるので、もう少し考えて見ます。

#11 2014-05-24 17:10:25

PleaseHelp
Guest

Re: 条件式書式のアドバイスをお願いします。

Traveller様、ありがとうございます。
1ヶ月以上となると、また条件が変わるのですね。。。なんだか凄く色々な作り方がありそうで難しそうですね。。

まだファイル拝見したところなので、食事してからじっくり考えたいと思います。
本当に助かります。また質問したらすいません。

#12 2014-05-24 21:19:33

Shin
Member

Re: 条件式書式のアドバイスをお願いします。

集計用のフィールドをクリックすると、それで新しいレコードが作られるはずですが。

事例に合わせて新しいサンプルを作りました。通常必要そうな機能を追加してあります。
https://dl.dropboxusercontent.com/u/926 … 16.fp7.zip
開始日付を設定して使って下さい。繰り返し数を調整すれば、2ヶ月とか3ヶ月の表示も可能です。
開いている所をクリックすれば、それと連続した空き日付を表示し、そこをクリックすれば予約でき、それ以外をクリックすればリセットされる動作を組み込む事で、ダブルブッキングを防いでいます。
また、既存の予約をクリックすると、その予約を削除出来ます。

https://www.dropbox.com/s/sbyx0jvq3ipso … 7.zip?dl=0

Last edited by Shin (2017-07-26 11:40:19)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 546.95 KiB (Peak: 567.85 KiB) ]