リレーションシップを設定して住所録テーブルを結合する

リレーションシップを使うと、PA の住所録テーブル(data テーブル)と、任意の FileMaker ファイルのテーブルを結合したリレーショナルデータベースを作成することができます。テーブル間のデータの参照は、リレーションシップの設定に基づき行われます。

任意のレイアウトに、自身のテーブルと PA の住所録テーブルのフィールドを組み合わせて配置することができます。ルックアップと違い、PA の住所録テーブルの変更内容は自動的に更新されます。また、自身のテーブルから PA の住所録テーブルを編集すると、その内容は PA の住所録テーブルに即座に反映されます。自身のテーブルから PA のレコードを作成または削除することも可能です。

ここでは、任意の FileMaker ファイルを「my_database.fp7」とし、リレーションシップやテーブルの参照例などを説明します。

リレーションシップの設定および、リレーションシップによるテーブルの参照には、PA が起動(main をダブルクリックして関連ファイルが開いている状態)している必要があります。なお、リレーションシップを設定できるのは、data.fp7 ファイル内の data テーブルのみです。

リレーションシップの設定例

ここでは単一条件リレーションシップ(互いの照合フィールドが [=] の記号で結ばれる)を使用します。

  1. PowerAddress FM フォルダ内の main.fp7 を開く。
  2. my_database.fp7 を開く。
  3. my_database のテーブルに照合フィールドを作成する。ここでは PA と同じ名前の「整理番号」というフィールド作成する。タイプは PA と同じ「数字」にする。
  4. my_database の「ファイル> 管理> 外部データソース…」を開き、PA の data.fp7 を data という名前で登録する。
  5. my_database のリレーションシップグラフに data を追加し、互いの整理番号を照合フィールドとして設定する。ここでは単一条件リレーションシップ(互いの照合フィールドが [=] の記号で結ばれる)を使用する。

リレーションシップを設定する際、data 側の「このリレーションシップを使用して、このテーブルでのレコードの作成を許可」を ON にすると、my_database 側から PA のレコードを作成することができます。

リレーションシップを設定する際、data 側の「他のテーブルでレコードが削除された時、このテーブルの関連レコードを削除」を ON にすると、my_database 側から PA のレコードを削除することができます。必要なレコードを間違って削除しないようご注意ください。

リレーションシップによるテーブルの結合例

ここでは、my_database のテーブルに「追加メモ」というテキストフィールドを作成し、my_database を表示しているレイアウトに、my_database のテーブルの「整理番号」と「追加メモ」、住所録テーブルの「姓」と「名」フィールドを組み合わせて配置します。

  1. レイアウトモードで、my_database のテーブルを表示したレイアウトを作成します。
  2. my_database のテーブルの「整理番号」と「追加メモ」を配置します。フィールドを指定する際は、フィールド指定のテーブルが「現在のテーブル(my_database)」になっていることを確認してください。
  3. 次にリレーションシップを設定した住所録テーブルの「姓」と「名」を配置します。フィールドを指定する際は、フィールド指定のテーブルが「data」になっていることを確認してください。

PA の任意のレコードの値を参照する

ブラウズモードでレコードを作成し、my_database の「整理番号」フィールドに PA の任意のレコードの整理番号を入力してみてください。整理番号の値に応じた「姓」と「名」が表示されます。

「整理番号」と「追加メモ」の値は、my_database のテーブルの内容が表示されます。「姓」と「名」は、住所録テーブルの内容が表示されます。

PA のレコードを作成する

リレーションシップの設定で、data 側の「このリレーションシップを使用して、このテーブルでのレコードの作成を許可」が ON になっていることを確認します。

ブラウズモードでレコードを作成し、my_database の「姓」と「名」に任意の値を入力してください。PA 側に今作成したレコードが表示されます。

PA のレコードを削除する

リレーションシップの設定で、data 側の「他のテーブルでレコードが削除された時、このテーブルの関連レコードを削除」が ON になっていることを確認します。

リレーションシップによるレコードを my_database 側で削除すると、my_database 側のレコードとともに、PA 側のレコードも削除されます。必要なレコードを間違って削除しないようご注意ください。

関連ページ

こちらの記事もどうぞ (自動生成)

3 Responses to リレーションシップを設定して住所録テーブルを結合する

  1. PowerAddress says:

    サンプルファイルをアップしました。リレーションの設定済みです。my_database フォルダを PowerAddress FM フォルダ内に設置すれば、あらかじめ設定したファイルパスのまま使用することができます。

    FileMaker 版の住所録テーブルを操作するサンプル (リレーションシップ例)
    http://poweraddress.powershift.jp/2011/08/11/my-database/

  2. PowerAddress says:

    my_database の「ファイル> 管理> データベース…」を開き「リレーションシップ」のタブをクリックすると、リレーションシップグラフが表示されます。画面下の「テーブル/リレーションシップ」の一番左にあるアイコンをクリックし、データソースから「data」を選び、data テーブルを指定します。これでリレーションシップグラフに data テーブルが表示されます。

    次に照合フィールドを設定します。グラフ上で my_database の整理番号をドラッグして data の整理番号と接続するか、画面下の左から2番目のアイコンをクリックし、リレーションシップ編集ダイアログを表示して設定します。はじめての場合は後者の方がわかりやすいかもしれませんね。リレーションシップ編集ダイアログの左側を my_database の整理番号に、右側を data の整理番号に、中央の記号は [=] のままにして [追加]、[OK] をクリックします。

  3. kitamurakazuo says:

    5.my_databaseのリレーションシップグラフに追加し、互いの整理番号を照合フィールドとして設定する。
    このやり方がわかりません。具体的に御願いします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>