2 Replies Latest reply on Jun 14, 2014 9:53 PM by YoshioOgata

    テーブル1からテーブル2へデータを動的に組換えたい(一覧表)

    YoshioOgata

      Title

      テーブル1からテーブル2へデータを動的に組換えたい(一覧表)

      Post

           皆様、こんにちはいつも貴重な情報をありがとうございます。

           解決策のヒントをお願いしたいのですが、よろしくお願いします。

           添付した、ファイル(画像)のように、元になるテーブル1があります。そのテーブルを元にテーブル2のようにデータを組み直したいのですが、手詰まっています。

           やりたいこと:
           1)テーブル1を元にして、テーブル2のようにデータを組み直したい。(逆でも良い)
           2)テーブル1と2の分析値(数値_1_1 〜数値_7_10 )はリンクしている
             →一方のテーブル内の数値を変更するともう一方のテーブルの数値もアップデートされる。
           3)両方のテーブルの分析値は、できればリレーションが設定されている。関数は使いたくない。
           4)両テーブルのセルは、選択して入力できるようにしたい。
           5)各テーブルは別レイアウトに表示する。
           6)ポータルを使用してもよい。
           どの様な方法が考えられでしょうか。お知恵を拝借したくポストしました。
            
           当方環境:
           1)MacOS 10.93、FileMaker pro 13
           2)win/mac両方で動作するようにしたい。
           よろしくお願いします。
            
            

      %E4%B8%80%E8%A6%A7%E8%A1%A8%E7%B5%84%E3%81%BF%E6%8F%9B%E3%81%88%E3%80%81%E6%A6%82%E5%BF%B5.png

        • 1. Re: テーブル1からテーブル2へデータを動的に組換えたい(一覧表)
          YoshioOgata

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

               色々と試行錯誤しましたが、現時点では完全なリレーションを使う方法は実装できていません。代案として、テーブル2を元に、関数でテーブル1を再現する方法を検討しました。

               以下は私の苦肉の策です;

               1)テーブル1の各項目を繰り返しフィールドとして、そこに関数(ExcuteSQL)を記述、検索キーはフィールドの値を割り当てるようにした。

               2)検索キーも同様に、繰り返しフィールド(グローバル格納)とし、マッチさせるフィールド名(分析id)を格納した。その後グローバルフィールドはレイアウトから除去。これで、見かけ上は、テーブル1が再現出来ました。

               しかしセルの情報は関数なので、直接、入力・変更ができないので、次の方法で、テーブル2のレイアウト(入力用)を呼び出して対応しています。

               3)テーブル2の自己リレーション(デカルト積)を設定して、このリレーションからポータルを展開、上記の繰り返しフィールドをこの上に配置しました。ポータル行数は、テーブル2と同じ数にした。

               4)ポータル行の先頭にボタンを配置、条件を、「関連レコードに移動(別ウインドウに表示)」に設定。これで、間接的にデータの変更が行えるようにしています。

               以上ですが、もっとスマートな方法がないものでしょうか?アイデアがございましたら、教えていただけると有り難く思います。

               私なりの中間報告です、ご覧頂き、ありがとうございます。

          • 2. Re: テーブル1からテーブル2へデータを動的に組換えたい(一覧表)
            YoshioOgata

                 解決しました。別ポスト(英訳)にて PhilModjunk 氏からのヒントを頼りに、なんとか自分なりにやってみました。

            それから、添付した画像のロジックに間違いが有りましたので、お詫びの上修正します。ご覧になった皆様に感謝します。

            Yoshio Kyoto