みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
以前にHiroさんがサンプルとしてお作りになった「宿帳v4」をダウンロードさせていただきまして、勉強している最中のものです。
●宿帳v4.fp7 → http://yahoo.jp/box/S1xpff
これにはおおきく「テーブル1(予約レコード群)」と「テーブル2(表示用)」があり、
テーブル2をリスト表示にすることで部屋番号を縦にならべ、
あとは宿泊者表示用の繰り返しフィールドを横に並べて、関連するレコードを「テーブル1」からLookupさせている、ということまでは理解しました。
まさにこれがやりたかったことで、希望が見えてきた!と感激しているのですが、
もともとのサンプルファイルでは1週間分を横並びで表示されてましたが、当方ではこれを3ヶ月分(92日)、表示したいと考えています。
単純に、「テーブル2::宿泊者一覧」と、Lookup先の「テーブル1::表示用一覧」の繰り返し数を「92」にすることで、とりあえず対応できるのはわかるのですが、
これだとテーブル1のすべての予約レコードに冗長な繰り返しデータが増えてしまい、ファイル容量を膨張させてしまうのではないかと心配です。
ルックアップ先を非繰り返しフィールドにすることができればスッキリするかと思うのですが…これがいま悩んでいるところです。
Filemakerの仕様として、繰り返しフィールドの計算においては、非繰り返しフィールドも繰り返しフィールドのように扱われるようなので、
計算式のなかで共通の値をもちいるときには、非繰り返しフィールドにも明示的な番号[1]を指定してあげるなどの対策が必要、ということは学びました。
だったらと思って「テーブル1::表示用一覧[92]」の繰り返し数を1にして(非繰り返しフィールドにして)、
lookup(extend(テーブル1::表示用一覧[1]);"-") や、 Lookup( GetRepetition ( テーブル1::表示用一覧 ; 1 );"-") なども試しましたが、ダメでした。
繰り返しフィールドのLookupで非繰り返しフィールド(または繰り返しフィールドの1番目だけ)を指定することはできないのでしょうか。
個別のサンプルファイルに関することで申しわけありません。
Offline
> ルックアップ先を非繰り返しフィールドにすることができればスッキリするかと
・繰り返しLookup計算の関数特性を利用したソリューションなので、原理的に無理です。
・むしろ、標準フィールドを繰り返しフィールドへ持ち替えることで、からくも成立する技法です。
・なお、その繰り返し回数は、表示するカレンダー日数と部屋数とで大きい方とします。
( サンプルでは、Max(週カレンダー7日; 部屋数50) = 50回 )
・別件ですが、滞在日一覧の方の繰り返し回数は、連泊日数の想定許容最大日数です。
( サンプルでは、最大3か月(90s日連泊)以下 = 100回 )
> サンプルは1週間分を横並びで表示されてましたが、これを3ヶ月分(92日)、表示したい
・3ヶ月分十数回に及ぶ横スクロールは、むしろ使い勝手が非常に悪いでしょう。表示負荷も膨大だし。
・現状は「>」日捲りボタンだけですが、「>>」週捲りと「>>>」月捲りボタンを追加されてはどうでしょうか。
Offline
ありがとうございます。
やはり難しいですか・・・。
いまの顧客管理ソフトがそのような仕様になっていて、
同じような表現ができれば使い勝手を維持できると思ったのですが、
ほんとうにそれが使い勝手がいいのかどうかも含めて再検討ですね。
まずは表示期間を短くして、週めくり、月めくりのボタンを設置することで対応してみようと思います。
どうもありがとうございました。もう少し勉強します。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 512.41 KiB (Peak: 518.88 KiB) ]