2 返信 最新の回答 日時: Jan 12, 2010 5:13 PM ユーザー:chaga

    リレーションシップの似通った機能の使い分けはどうしていますか?

    chaga

      タイトル

      リレーションシップの似通った機能の使い分けはどうしていますか?

      フォーラムに投稿

      こんにちは。

      ファイルメーカーPro10トライ版で学習しています。

       

      リレーションという機能で分かりにくく感じるのでお尋ねしたいのですが、

      ルックアップで値をひっぱってくる方法と、レイアウトモードでフィールドをダブルクリックして参照先を指定するやり方に使い分ける理由とか何か効果の違いがあるのでしょうか?

       

      操作で説明しますと、

       

      1.リレーションシップの定義

      「ファイル」-「管理」下のリレーションシップタブウィンドウの中で、2つのテーブルにをあるフィールド要素でリレーションシップを張る 

       

      ここまでは共通として、 

       

      2.1 ルックアップ機能の設定 

      「ファイル」-「管理」下のフィールドタブウィンドウの中で値を引っ張ってきたいフィールドをダブルクリックまたはオプションボタンを押してルックアップ値の設定を行う 

       

      または

       

      2.2 フィールド参照先の直接指定

      レイアウトモードにて値を引っ張ってきたいフィールドをダブルクリックし、「フィr-ルド/コントロールの設定」ウィンドウの中で「データを表示」 のところを指定して引っ張ってくるテーブルとフィールドを指定する

       

      という2つの方法があるように見えるのですが、 どんな違いがあって使い分けていますか?

      よろしくお願いします。 

       

       

        • 1. Re: リレーションシップの似通った機能の使い分けはどうしていますか?
          fmdiary
            

          chagaさん、こんにちは

           

          両者使い分けですが、ルックアップを使用する場面で考えると分かりやすいので、以下で説明します。 

           

          ルックアップを行うと、関連テーブルのデータが現在のテーブルにコピーされます。

          コピー元のテーブルでデータを変更しても自動的に更新されることはありません。

           

          その特性を利用して、入力時点のデータを保持しておく必要がある際に使用します。 

           

          例えば、請求書で考えると、商品の名前や価格、請求先の社名等、入力後に変更される可能性があるもの(入力時点の情報が必要なもの)についてルックアップを設定します。

          単純な参照だと、関連テーブルのデータが変更されると、データが変更されてしまいます。

          (商品の価格が改定されて、以前の請求価格がそれに連動して変わるというのもおかしいので)

           

          逆に、ルックアップを必要としない(データを保持する必要が無い)場合は、関連テーブルのフィールドを参照します。 

          にfmdiaryにより編集されたメッセージ
          • 2. Re: リレーションシップの似通った機能の使い分けはどうしていますか?
            chaga
              

            fmdiaryさん、さっそくの助言ありがとうございます。

             

            フィールドの直接指定は常に最新データが反映されるとのこと、納得しました。

             

            ちなみに、意地悪ですがひとつのフィールドに参照先の異なるルックアップと直接指定を同時に設定すると、フィールドの直接指定が優先されるようですね。

             

            こういう重複した場合でもすぐわかるよう、レイアウトモードでもルックアップ設定済み情報が、データベース管理のフィールドタブウィンドウ内でも直接指定済み情報が分かるとよいですね。