6 返信 最新の回答 日時: Mar 13, 2013 2:44 AM ユーザー:macfolksfmp

    書式の条件付:繰り返しフィールドを使ってカレンダーを作成しています...

    macfolksfmp

      タイトル

      書式の条件付:繰り返しフィールドを使ってカレンダーを作成していますが...

      フォーラムに投稿

           FMP11advです。

           行事などを日付で登録し、カレンダーに呼び込むように日付でリレーションシップを張ります。(カレンダーテーブルと行事テーブル)

           行事テーブルはレコード登録。リレーションシップ後、書式の条件付で計算式を追加し、

             Self = 行事::日付 and 行事::休日フラグ = "休日"

           を入れ、フォントを赤くするように指定します。

           うまくいく場合といかない場合があります。特に規則はないようです。

           克服した方いらっしゃいませんか。

        • 1. Re: 書式の条件付:繰り返しフィールドを使ってカレンダーを作成しています...
          ねこ吉

               表題の「繰り返しフィールド」がどこに使われているのか文中からよくわかりません。

               漠然とですが、次の2点はどうなっていますか。

               ● 繰り返しの [2] 以降に入っている値は、リレーションに影響しません。リレーションは、

                常時 [1] の値で呼び込みます。

               ● 条件付き書式を設定したときは、判定式も繰り返されることを想定し忘れていたりしませんか。

               判定式で、

                「A = B」

               となっているときの繰り返しは、

                A [2] = B [2]

                A [3] = B [3]

                  :

               となります。

               判定式で、

                「A = B [1] 」 

               と明示的に添え字 [1] を書くべき箇所はありませんか。

          • 2. Re: 書式の条件付:繰り返しフィールドを使ってカレンダーを作成しています...
            hiro_

                 ご希望は、以前他の掲示板ですが、「カレンダーの作り方」スレでお答えしてます。説明代わりにそのサンプルをご覧下さい。
                 「[50195] カレンダーの作り方」http://www.russ.jp/stepbbs/step.cgi?mode=view&no=93617

                 サンプル「ToDoカレンダー.fp7」→ http://yahoo.jp/box/6TEK45

            • 3. Re: 書式の条件付:繰り返しフィールドを使ってカレンダーを作成しています...
              macfolksfmp

                   ねこ吉さま

                   そうするべきです。配列の添え字操作と同じく考えたいところですが、繰り返しフィールドをカレンダーのように7日間で区切って使うと、書式の条件付という方法で設定しなくてはならないようになっています、FMPでは。

                   なのでご指摘の方法は使うことができません。

                   Hiro様

                   とてもいい試みと思い、応援させていただいております。でもサンプルおよびサンプルでは要件を満たしていません。

                    

                   実現したいことは、繰り返しフィールドを使ってカレンダーを作り、別のテーブルから行事、祝祭日(土日は書式の条件付で設定ができます。)を日付でリレーションシップして表示させる。もしくは文字を赤くする、ということを実現したいのです。

                   カレンダーの表示(日付の数字)を独立したフィールドにして個々のフィールドとリンクさせる方法ではできますが、それは力技以外の何時ものでもないのでFMP的解決ではないでしょう。

              • 4. Re: 書式の条件付:繰り返しフィールドを使ってカレンダーを作成しています...
                ねこ吉

                     FMP6以前に、添え字の書式が使えなかった時代もあったような気もしますが、

                     お使いの FMP11 では、条件付き書式の判定式の中でも、カッコを使って

                     配列と同じ考えで記述できますよね。

                     Hiro さんのサンプルの中でも、"[1]" と書いてある式がありますし、

                     繰り返しフィールドと条件付き書式を組み合わせるときは、わりと重要なポイントだと思います。

                     それはさておき、

                     フィールドの [2] 以降の要素はリレーションの起点にはなれないので、

                     Hiro さんのサンプルのように、月の初日をリレーションの起点にして、他の日は初日からのオフセットを

                     添え字として繰り返しで参照するしかないように思います。

                • 5. Re: 書式の条件付:繰り返しフィールドを使ってカレンダーを作成しています...
                  hiro_

                  > とてもいい試みと思い、応援させていただいております。でもサンプルおよびサンプルでは要件を満たしていません。
                       下記の目的なら、ロジック的意味での要件は満たしている作例と思ったのですが...。

                  > 実現したいことは、繰り返しフィールドを使ってカレンダーを作り、別のテーブルから行事、祝祭日(土日は書式の条件付で設定ができます。)を日付でリレーションシップして表示させる。もしくは文字を赤くする、ということを実現したいのです
                       これは、行事・祝祭日をサンプルのToDoに読み替えてご希望の条件付書式を設定すれば良いのでは。

                  > カレンダーの表示(日付の数字)を独立したフィールドにして個々のフィールドとリンクさせる方法ではできますが、それは力技以外の何時ものでもないのでFMP的解決ではないでしょう。
                       その力技をせず、目的を実現する解法です。繰り返しフィールドのルックアップ特性を応用した手法です。リレーションは汎用の1本だけで済ませています。サンプルのロジックを今一度ご確認下さい。

                  • 6. Re: 書式の条件付:繰り返しフィールドを使ってカレンダーを作成しています...
                    macfolksfmp

                         ねこ吉さんがご指摘のように

                         >フィールドの [2] 以降の要素はリレーションの起点にはなれないので、

                         Hiro さんのサンプルのように、月の初日をリレーションの起点にして、他の日は初日からのオフセットを

                         添え字として繰り返しで参照するしかないように思います。

                          

                         オフセットが必要なのと堂かも含め、サンプルのようにLOOKUPを使っていったん呼び込み、カレンダー文字の制御ができるかどうかやって見ることにします。

                         結果は明日にでも...

                         ありがとうございました。