4 返信 最新の回答 日時: May 21, 2009 5:45 AM ユーザー:ebisu_1

    Get ( 検索条件除外状態 ) 関数につき

    ebisu_1

      タイトル

      Get ( 検索条件除外状態 ) 関数につき

      フォーラムに投稿

      この関数を使って、ある文字列を、検索モードで、検索条件が除外している時だけに表示させたいのですが、なかなかうまくいきません。

      計算フィールドも、条件付書式のラベルも、やってみたんですが、思った通りに結果が出ないのです。

       

      バージョンが 10 Adv、OSがVistaです。

       

      皆様、よろしくお願いいたします。

        • 1. Re: Get ( 検索条件除外状態 ) 関数につき
          d.o
            

          ebisuさんこんにちは

           

          テキストツールで作ったテキストに条件付き書式で  「Get ( 検索条件除外状態 )」を使用してみました。

          こちらの環境ではちゃんと動作しました。

           

          計算フィールドで Get ( 検索条件除外状態 )をしてみましたが、こちらはうまくいきませんでした。除外にチェックが入っていようがなかろうがブラウズモードに戻ると0と表示されてしまいます。

           

          とういわけでテキストツールで作ったオブジェクトに条件付き書式を適用するか、スクリプトを使用して検索モードで Get ( 検索条件除外状態 )の値を変数に取得し、ブラウズモードに戻してからどこかのグローバルフィールドにでも保存すれば良いかと思います。

           

          ちなみに、どのような用途でつかわれるのですか?差し障りがなければ参考までに教えて下さい。

           

           

          • 2. Re: Get ( 検索条件除外状態 ) 関数につき
            ebisu_1
              

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

             

            再度条件付きのテキストでやってみました。文字色は白、ただし、検索除外状態では黒、というふうに設定します(実は前も同じやり方)。依然として、除外状態に切り替えても黒色になりません(つまり文字が出ない)。で、発見したのは、いったんレイアウトを変えて、再度戻ったら、文字が出るようになりました;あるいは、いったん検索条件を増やしてから、最初の条件(レコード)に戻れば、それも文字が出ます。

             

            まとめると、除外状態に切り替えても、止まっている状態では、書式の変化は反映されない、ということです。FM10のバグなのでしょうか。ましかしてD-Oさんは9ですか?(10での除外はcheckboxではなく、タグの切り替えです。)

             

            用途について、私はツールバーなしのアプリを作ろうとしますので、除外しているならはっきり見えるようにさせたいのです。もしD-Oさんはよりいい方法があれば、ぜひお聞かせください。

            • 3. Re: Get ( 検索条件除外状態 ) 関数につき
              d.o
                

              ebisuさん

               

              うちはFilemaker Ver 9と10両方あります。

              今回の検証は10でやりました。

               

              うちも、そちらと同様で検索モードで検索条件を除外にしただけでは書式が変わりません。検索を実行してブラウズモードになると書式が反映されます。 

              この状態で再び、検索モードにかえると条件付き書式が有効になっています。

               

              おそらく検索モードでは画面が再描画されるようなこと(レコードの切り替えやらレイアウトの変更)が無いとテキストオブジェクトの書式が変更されないんでしょうね。

               

              ちょっと実験してみたんですがフィールドに条件付き書式を設定した場合は検索モードでも値の変更ですぐに初期が変更されます。 

              ツールバーを表示しないということは、レイアウト上のボタンをクリックして除外、含めるを切りえている感じですよね? であれば、検索状態を表示するためだけのグローバルフィールドを作ってしまうのはどうでしょうか?ボタンクリックでスクリプトを動かしてグローバルフィールドの値と検索条件を切り替えるようにすれば考えている動作になると思います。

              • 4. Re: Get ( 検索条件除外状態 ) 関数につき
                ebisu_1
                  

                D-Oさん、ありがとうございました。

                 

                そちらのやり方が分かりやすくて、とてもいいと思います。自分はレイアウトを動かすスクリプトを作って、目的をとりあえず達成してはいましたが、やはりベストではないと自覚しています。D-Oさんの提案通りに書き直しました。

                 

                今回は本当に助かりました。