みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもこのページを拝見し、参考にさせていただいております。
この度、転職して、ファイルメーカーを使用することになり、独学ではありますが、書籍を購入したり、webを参考にしながら勉強しております。
勉強しながら、業務に使用するため、テストとしてファイルメーカーにていろんなファイルを作成し、試しておりますが、どうしても解決できない内容が出てきましたので、お助けいただきたく思います。
今回、「貸し部屋スケジュール」を管理するものを作成しております。
環境:Windows7Pro
FM:FileMalerPRO14 Advanced
今回のテストでは毎日9:00~10:55までの(5分刻み)部屋の貸し出し予約の管理となります。イメージとしては電話にて予約受付、その際に「空き部屋」がわかるように一覧を見ながら部屋の利用時間を調整。予約を受付けるというものです。
テーブル
①予約
②時間軸
③部屋
④予約一覧
フィールド
[①予約]
ID
日付
開始時間
終了時間
内容
氏名
部屋ID
部屋名
[②時間軸]
ID
日付
時間001
時間002
・
・
・
時間023
時間024
[③部屋]
ID ←④予約一覧には4つしか枠がありませんが、必要であれば④予約一覧の枠を増やすということで。
部屋名
[④予約状況一覧]
ID
日付
部屋1
部屋2
部屋3
部屋4
部屋ID1
部屋ID2
部屋ID3
部屋ID4
時間001
時間002
・
・
・
時間023
時間024
(ここはそのほかに縦軸:時間軸と横軸:部屋の交差するところにフィールド(時間軸(9:00-10:55の5分刻みで)24×部屋枠4で96個のフィールド)が必要かと思います)
構造は図にて参照ただければわかりやすいかと思いまして、概要を貼ってみました。
目的としては、予約を取る際に、空室状況をわかりやすくしたいために「日」ごとの(縦)時間軸と(横)各部屋の表のようなものを表示できないかということです。
これをファイルメーカーで管理したいのですが、作成中に「どのように表にするのか」ということに行き詰ってしまいました。
最終的には、
・[①予約]で予約を確定したら、[④予約一覧]に氏名を表示
・[①予約]内の「開始時間」「終了時間」を元に[④予約一覧]でその範囲内を(条件書式などで)色づけ
・[④予約一覧]を常時見るようにして、予約確認のために該当のフィールドをダブルクリック(もしくはボタンを作成し)し[①予約]の参照
・[④予約一覧]を常時見るようにして、予約受付けのために空いている時間帯のフィールドをダブルクリック(もしくはボタンを作成し)して[①予約]を出すようにする
ということをしたいのです。
恐れ入りますが、ご教授いただきたく存じます。
ファイルメーカーを使用して間もないため、多数の誤ったテーブルやフィールド、リレーションの使い方もあるかと思います。
そのあたりのご指摘もいただきたく思います。よろしくお願いいたします。
すみません。画像がうまく表示されない模様です。
リンクを貼ります。すみません。
kashibeya_schedule
時間軸テーブルは
開始 例)9:00
終了 例)9:04
の1フィールドと
部屋ID_1
部屋ID_2
部屋ID_3
部屋ID_4
の4つのグローバルフィールドにして開始と終了を5分刻みで入力した24レコード作り、
時間軸テーブルのレイアウトでリスト表示します。
予約テーブルを複製してテーブルオカレンスを作り、仮に名前を「予約テーブル_部屋ID1」とします。
時間軸テーブルと予約テーブル_部屋ID1でリレーションを張り、条件は
部屋ID_1=部屋ID
開始>=開始時間
終了<=終了時間
この要領で予約テーブルオカレンスを4つと時間軸テーブルそれぞれを結ぶリレーション4本を作成します。
あとはレイアウト上に予約テーブル_部屋ID1~4の1行ポータルを横に並べれば大まかな形は出来そうです。
サンプル上げられないんですが文章だけじゃ説明不十分かな。
holi様
早速のご教授、誠にありがとうございます。
すみません。
最初の部分なのですが、
>時間軸テーブルは
>開始 例)9:00
>終了 例)9:04
>の1フィールドと
これは、「開始時間」フィールドと「終了時間」フィールドを
それぞれ作成し、
9:00-10:55(5分刻み)分
各24フィールを作成して、
開始 終了
「9:00」 「9:04」
「9:05」 「9:09」
・
・
「10:55」 「10:59」
と作成していく、ということなのでしょうか。
>部屋ID_1
>部屋ID_2
>部屋ID_3
>部屋ID_4
>の4つのグローバルフィールドにして
「部屋ID_1」
「部屋ID_2」
「部屋ID_3」
「部屋ID_4」
のフィールドを作成し、グローバルフィールドにすればいいということですよね。
>開始と終了を5分刻みで入力した24レコード作り、
>時間軸テーブルのレイアウトでリスト表示します。
その際は、「日付」のフィールドも必要ということでいいんでしょうか。
または「開始」「終了」フィールドはタイムスタンプにして、日付と時刻を「開始」「終了」フィールドに
入るから「日付」はいらないということなんでしょうか。
理解不足で申し訳ありません。教えていただけないでしょうか。
holi様
たびたびすみません。
さきほど伺ったところで、
-----------------------------------------------------------------------
>時間軸テーブルは
>開始 例)9:00
>終了 例)9:04
>の1フィールドと
これは、「開始時間」フィールドと「終了時間」フィールドを
それぞれ作成し、
9:00-10:55(5分刻み)分
各24フィールを作成して、
開始 終了
「9:00」 「9:04」
「9:05」 「9:09」
・
・
「10:55」 「10:59」
と作成していく、ということなのでしょうか
-----------------------------------------------------------------------
の部分は、後に「24レコード作成して」とありました。
確認不足で、すみません。
ただ、
>時間軸テーブルは
>開始 例)9:00
>終了 例)9:04
>の1フィールド
ですが、「開始」「終了」を各1フィールドなのか「開始」「終了」で1フィールドなのかが
わかりません。仮に「開始」「終了」で1フィールドだった場合、
時間の入力はどうなるのでしょうか。
「9:00-9:04」
「9:05-9:09」
・
・
「10:55-10:59」
となるのでしょうか。
何度もすみません
今回の問題に関しては
1.予約と
4.予約状況
だけで出来ますよ。
4.予約状況一覧
これは、
一部屋&いち日 ごとに1レコードとした方がいいでしょうね。
で、
各時刻の枠は繰り返しフィールドにして、
各回を 9:00 から5分刻みに割り当てて、
該当する予約時刻内なら色をつける等でグラフ化した一覧が出来ますね。
ただし、
「日」ごとの(縦)時間軸と(横)各部屋の表
この縦横が変わりますが。
4部屋限定なら、
質問の通り、
四部屋&いち日を1レコードとすれば、
縦横そのまま出来ますね。
見た目はどうでしょう・・
Offline
説明が走り過ぎていましたね。すみません。
これは、「開始時間」フィールドと「終了時間」フィールドを
それぞれ作成し、
9:00-10:55(5分刻み)分
各24フィールを作成して、開始 終了
「9:00」 「9:04」
「9:05」 「9:09」
・
・
「10:55」 「10:59」と作成していく、ということなのでしょうか。
時間軸のフィールドは(グローバルのものを除いて)「開始」と「終了」の2個だけ(1個は間違いでした;)で、レコードを24個作製します。
(「終了」の方はフィールドタイプ「計算」、計算式[開始+299]、計算結果「時刻」とすれば入力の手間が省けます。)
一つ目のレコードのフィールド「開始」に「9:00」、二つ目のレコードは「9:05」と言う具合に5分刻みで入力してリスト形式で表示し、
「開始」に対して昇順ソートをかければ、
「9:00」
「9:05」
「9:10」
・
・
という様にレイアウトに表示されます。(終了はレイアウトに表示する必要はありません)
「部屋ID_1」
「部屋ID_2」
「部屋ID_3」
「部屋ID_4」
のフィールドを作成し、グローバルフィールドにすればいいということですよね。
その通りです。
各グローバルフィールドにはそれぞれ1,2,3,4と数値を入れておきます。
その際は、「日付」のフィールドも必要ということでいいんでしょうか。
または「開始」「終了」フィールドはタイムスタンプにして、日付と時刻を「開始」「終了」フィールドに
入るから「日付」はいらないということなんでしょうか。
「日付」、いりますね。ウッカリしてました。
時間軸テーブルにグローバルフィールド「日付」を作成し、
こちらはレイアウトのヘッダあたりに置いてスケジュールを見たい日付を任意で入力してもらう形になるでしょうか。
そしてリレーションは
時間軸テーブル 予約テーブル
日付 = 日付
開始 >= 開始時間
終了 <= 終了時間
としてみてください。
時間軸テーブル 予約テーブル
日付 = 日付
部屋ID_1 = 部屋ID
開始 >= 開始時間
終了 <= 終了時間
ですね。度々すいません。
追記。
各ポータルには(予約)ID、氏名、内容等のフィールドを置くと分かりやすいしょうか。
hilo様
丁寧なご説明ありがとうございます。
ご教授いただきましたとおりに設定しましたら、
一部の「予約」テーブルに入力したレコードに関しては表示ができました。
長く悩んでおりましたので、感謝の限りです。
しかしながら、一部の「予約」レコードが表示されたというのは、
「予約」テーブルで「開始」-「終了」が5分間、
つまり、
「予約」テーブル「開始」:9:00-「終了」:9:04 の予約 (予約時間 4分の案件) → 「時間軸」テーブルに表示される
「予約」テーブル「開始」:9:00-「終了」:9:09 の予約 (予約時間 9分の案件) → 「時間軸」テーブルに表示されない
ということになります。
もしかしたら、私の最初の質問に問題があったのかもしれません。もし、そうでしたら、申し訳ありません。
本意としましては、
5分間単位で予約開始の受付ができて、営業時間内(9:00~10:55)なら何分でも利用可能という
ことです。
以下に結果の画像を添付しますが、客が利用する時間帯に対して
「この日のこの時間帯は部屋が埋まっている」
「この日のこの時間帯は部屋が空いている」
を確認したいので、
「予約」テーブルに入力された(予約時間帯「開始」-「終了」の間)は
「時間軸」テーブルの各該当時間のポータルに対象の「ID」「氏名」「内容」が
表示されることができないでしょうか。
そうすると、条件書式で色をつけることにより、
この時間帯は「空いている」、この時間帯は「埋まっている」がわかると思います。
ご面倒で恐縮ですが、この点ご教授いただけないでしょうか。
ただ、時間軸を使った表示方法の概念の一つがわかったのは、大変感謝いたしております。
仮に9:00~9:05の予約だった場合、
9:00 予約有
9:05 予約有
のように二段で表示される形で良いのでしょうか?
であれば単純に時間軸Tは「開始」フィールドだけにして、
リレーションを
日付 = 日付
部屋ID_1 = 部屋ID
開始 >= 開始時間
開始 <= 終了時間
とした方が希望の動作に近いかもしれません。
以前、別の会議室で作ったサンプルです。
https://dl.dropboxusercontent.com/u/926 … 75.fp7.zip
こんな動きが良いのでは。
日跨ぎは有りませんか。
Offline
hilo様
ご教授ありがとうございます。
お伝えする内容が不足していたかもしれません、すみません。
ご教授いただいた方法で、すべての予約に対して、該当する開始時間に予約内容が表示されるように
なったんですが、予約者の利用時間が5分以上の予約については、
[予約]テーブルにおいて
開始時間→9:00 終了時間→9:19 氏名→田中 内容→会議の予約を例とすると、
私のイメージでは
[時間軸]テーブル
開始時間 予約ID 氏名 内容
(9:00) 1 田中 会議
(9:05) 1 田中 会議
(9:10) 1 田中 会議
(9:15) 1 田中 会議
(9:20)
のように表示されないかということだったんです。
素人考えですが、このように表示されると、
条件付書式で、文字が入力されれば、色をつけることにより、
予約状況がわかるのではないか?と思ったからです。
hilo様にご教授いただいた内容で実行しましたら、
[予約]テーブルにおいて
開始時間→9:00 終了時間→9:19 氏名→田中 内容→会議の予約を例とすると、
私のイメージでは
[時間軸]テーブル
開始時間 予約ID 氏名 内容
(9:00) 1 田中 会議
(9:05)
(9:10)
(9:15)
(9:20)
のように表示されました。
どこか設定をミスしたのでしょうか。
何度も申し訳ありません。
その表示と、私のイメージをアップしたいと思います。
test-room_schedule4
Shin様
お世話になります。
サンプルありがとうございます。
このサンプルのようなものがまさに理想系ではあるのですが、
いかんせん、私はFileMakerを使用して日が浅く、サンプルの内容をまだ理解することができません。
少し、時間をかけて拝見したいと思います。
今回、作成しているファイルは営業時間が9:00-11:00の設定でありますので、
日をまたぐことはありません。
先ほど私の投稿した際の内容が私のイメージとなります。
時間軸T 予約T
日付 = 日付
部屋ID_1 = 部屋ID
開始 >= 開始時間
開始 <= 終了時間
リレーションの条件はあっていますか?
開始 = 開始時間 としたときhakuさんの言うような表示になりました。
単純な色分け表示をポータルでやるのであれば、
ポータル上に置くフィールドをどれかひとつだけにして、
「インスペクタ」「外観」の「塗りつぶし」と、「テキスト」の文字色を同じ色にする。
そして「レイアウト管理」から時間軸のレイアウトを選んで「編集」、
「一般」タブのところの「現在のレコードのみフィールドに枠を表示する」のチェックを外す。
また「データ」「動作」「フィールド入力」の「ブラウズモード」のチェックを外してフィールドに入れないようにしておく。
見栄えを良くしようとすると細かな調整が必要ですが・・・
仕様に合わせたファイルへ作り替えてみました。
https://dl.dropboxusercontent.com/u/926 … .fmp12.zip
初めて使う人でも迷わないと思います。
Last edited by Shin (2015-10-12 13:46:45)
Offline
holi様
すみません。リレーションの設定が違っていたようです。
おっしゃるとおりの設定でできました。
ありがとうございます。
大変お手数をおかけいたしました。
Shin様
サンプルまで作成いただき、ありがとうございます。
内容を拝見し、どのように構築し、動作しているのかを
見てみたいと思います。
ありがとうございます。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 577.1 KiB (Peak: 614.01 KiB) ]