リレーションシップを使うと、PA の住所録テーブル(data テーブル)と、任意の FileMaker ファイルのテーブルを結合したリレーショナルデータベースを作成することができます。テーブル間のデータの参照は、リレーションシップの設定に基づき行われます。
任意のレイアウトに、自身のテーブルと PA の住所録テーブルのフィールドを組み合わせて配置することができます。ルックアップと違い、PA の住所録テーブルの変更内容は自動的に更新されます。また、自身のテーブルから PA の住所録テーブルを編集すると、その内容は PA の住所録テーブルに即座に反映されます。自身のテーブルから PA のレコードを作成または削除することも可能です。
ここでは、任意の FileMaker ファイルを「my_database」とし、リレーションシップやテーブルの参照例などを説明します。
リレーションシップの設定および、リレーションシップによるテーブルの参照には、PA が起動(main をダブルクリックして関連ファイルが開いている状態)している必要があります。なお、リレーションシップを設定できるのは、data ファイル内の data テーブルのみです。
リレーションシップの設定例
ここでは単一条件リレーションシップ(互いの照合フィールドが [=] の記号で結ばれる)を使用します。
- PowerAddress フォルダ内の main を FileMaker Pro で開く
- my_database を開く
- my_database のテーブルに照合フィールドを作成
ここでは PA と同じ名前の「整理番号」というフィールド作成する。タイプは PA と同じ「数字」にする。 - my_database の「ファイル> 管理> 外部データソース…」を開く
- PA の data を data という名前で登録
- my_database のリレーションシップグラフに data を追加
- 互いの整理番号を照合フィールドとして設定
ここでは単一条件リレーションシップ(互いの照合フィールドが [=] の記号で結ばれる)を使用する。
リレーションシップを設定する際、data 側の「このリレーションシップを使用して、このテーブルでのレコードの作成を許可」を ON にすると、my_database 側から PA のレコードを作成することができます。
リレーションシップを設定する際、data 側の「他のテーブルでレコードが削除された時、このテーブルの関連レコードを削除」を ON にすると、my_database 側から PA のレコードを削除することができます。必要なレコードを間違って削除しないようご注意ください。
リレーションシップによるテーブルの結合例
ここでは、my_database のテーブルに「追加メモ」というテキストフィールドを作成し、my_database を表示しているレイアウトに、my_database のテーブルの「整理番号」と「追加メモ」、住所録テーブルの「姓」と「名」フィールドを組み合わせて配置します。
- レイアウトモードで、my_database のテーブルを表示したレイアウトを作成
- my_database のテーブルの「整理番号」と「追加メモ」を配置
フィールドを指定する際は、フィールド指定のテーブルが「現在のテーブル(my_database)」になっていることを確認してください。 - リレーションシップを設定した住所録テーブルの「姓」と「名」を配置
フィールドを指定する際は、フィールド指定のテーブルが「data」になっていることを確認してください。
PA の任意のレコードの値を参照する
ブラウズモードでレコードを作成し、my_database の「整理番号」フィールドに PA の任意のレコードの整理番号を入力してみてください。整理番号の値に応じた「姓」と「名」が表示されます。
「整理番号」と「追加メモ」の値は、my_database のテーブルの内容が表示されます。「姓」と「名」は、住所録テーブルの内容が表示されます。
PA のレコードを作成する
リレーションシップの設定で、data 側の「このリレーションシップを使用して、このテーブルでのレコードの作成を許可」が ON になっていることを確認します。
ブラウズモードでレコードを作成し、my_database の「姓」と「名」に任意の値を入力してください。PA 側に今作成したレコードが表示されます。
PA のレコードを削除する
リレーションシップの設定で、data 側の「他のテーブルでレコードが削除された時、このテーブルの関連レコードを削除」が ON になっていることを確認します。
リレーションシップによるレコードを my_database 側で削除すると、my_database 側のレコードとともに、PA 側のレコードも削除されます。必要なレコードを間違って削除しないようご注意ください。