3 返信 最新の回答 日時: Dec 17, 2013 3:44 AM ユーザー:ねこ吉

    グローバルフィールドの初期値セットについて

    株式会社アネビー

      タイトル

      グローバルフィールドの初期値セットについて

      フォーラムに投稿

           FileMaker12を使用しています。

           製品テーブルにグローバルフィールドを設定し(検索日付、製品コード等)、
           その項目を検索条件として入出庫明細より値を集計しています。

           なぜかそのグローバルフィールドに値が設定されていて、初期値として常に表示されてしまします。
           (値は、"2013/12/31" & "2" が表示されます。 多分設計中にどこかで入力した値と思います)
           検索条件でその値を入力した直後は入力した値に変更されるのですが、
           再起動するともとの値にもどってしまします。
           また、表形式でいったん値を削除しても結果は同じです。

           製品テーブルを全件削除し、EXCELファイルよりインポートしても同じ結果となります。
           (インポート時には、該当グローバルフィールドはクリアしています。)

           その値をクリアしたいのですが、その方法が解りません。

           表形式でいったん値を削除しても結果は同じです。

           グローバルフィールドを初期値セットする方法ご教示ください。

        • 1. Re: グローバルフィールドの初期値セットについて
          ねこ吉

               もしかして、FileMaker server で公開していますか?

               FileMaker Server で公開しているデータベースのグローバルフィールドの

               初期値はクライアントマシンからは変更することができません。変更するには、

               ホストマシンからいったんクライアントマシンにファイルを移動し、

               クライアントマシンでファイルを開いて、グローバルフィールドの値を変更して、

               再度ホストマシンに移動することになります。

               (ちなみに、レイアウト作業中のグリッド吸着のOn/Offや単位の px/cmみたいな

               設定の初期値にも同様の挙動があるので、Server で公開する前に、使いやすいように

               変えておくのがよいです。)

                

               その他の方法として、[ファイル]>[ファイルオプション...]>[スクリプトトリガ]

               で、OnFirstWindowOpen にスクリプトを登録し、そのスクリプトの中で

               グローバル変数を初期化するという方法もあります。

          • 2. Re: グローバルフィールドの初期値セットについて
            株式会社アネビー

                 ねこ吉様

                 いつもありがとうございます。

                 OnFirstWindowOpen にスクリプトを登録する方法で解決しました。

                 ですが、別の問題があります。

                 現時点ではOnFirstWindowOpen では別のスクリプト(初期のメニュー表示)のスクリプトを設定しています。

                 2本を1本化すればことは簡単なのですが、目的別のスクリプトのため別々に管理したいと思います。

                 OnFirstWindowOpen で2つのスクリプトを設定する方法はないものでしょうか?

                  

            • 3. Re: グローバルフィールドの初期値セットについて
              ねこ吉

              > OnFirstWindowOpen で2つのスクリプトを設定する方法はないものでしょうか?

                    

                   「メニューの初期化」スクリプトをサブルーチンにして、サブルーチンを

                   呼び出すスクリプトを作ればいいと思います。

              サブルーチンを呼び出すスクリプトステップは「スクリプトの実行」です。