ファイルメーカーのマスターテーブルサンプルと作り方 その1
マスタの扱い方は非常に重要です。
大分類マスタ > 中分類マスタ > 小分類マスタとマスタが全て関連づいてます。
ここでリレーションを再度調整します。
「Ctrl+Shift+D」でデータベースの管理を開いて、
中分類マスタテーブルに「大分類ID」フィールドを
小分類マスタテーブルに「中分類ID」フィールドを
それぞれ追加作成します。
そしてリレーションタブを開きます。
最初に組んだリレーションから追加でマスタのリレーションを再構築します。
大分類マスタ > 中分類マスタ > 小分類マスタ
のリレーションを下図のように組みます。
大分類マスタ > 中分類マスタ R 間では中分類マスタ R側のリレーション設定を作成許可に、
中分類マスタ R > 小分類マスタ R 間では小分類マスタ R側のリレーション設定を作成許可に、
することが大事です!
ここでポイント!
リレーションのテーブルはいくつでも増やせます!
関連づくテーブル間で異なる関連付けをしなければならない場合は、対象のテーブルを選択して、左下の++をクリックするとテーブルが作られます。名前を分かりやすいものに変更して、後は関連付けたいテーブルか間でリレーションを組むだけです。
で、データベースの管理を保存して大分類マスタのレイアウトでレイアウトモードにし、
大分類マスタに関連する中分類マスタのポータルを作成します。
このポータルの設定では「中分類マスタ R」を指定するのがポイント!
こんな感じです。
ポータルの左下に「どの関連づいたテーブルを指定しています」というのが表示されています。
そして同様に中分類マスタも小分類マスタ Rのポタールを作成します。
が!ここでもうひとつポイント!
前に作成した中分類マスタのレイアウトには「中分類マスタ」をテーブルに指定していますが、
今回のリレーションで作成したテーブルを指定しないと、小分類マスタ Rとの関連がつきません!
こんな感じで、修正して下さい!
青枠の黒バーらへんをクリックすると、「レイアウト設定」が開きますので、そこでレコードを表示のプルダウンから「中分類マスタ R」を選択して下さい。
すると以前配置していたフィールドの名前の前に「::」が付きます。これは「このレイアウトに設定されているテーブルとは違うテーブルのフィールドだけど~」と教えてくれているのです。
なので、中分類IDと中分類名のフィールドをそれぞれダブルクリックして、「中分類マスタ R」のテーブルを選択してフィールドを設定しなおしてください。
で更に、大分類マスタ同様に、小分類マスタ Rのポータルを作成します。
以上で終了!
あとは、ブラウズモードで大分類マスタからレコードを作成します。
大分類マスタレイアウトでレコードを作成して、中分類マスタのポータルに直接中分類名を入力するとレコードが作成されます。中分類マスタレイアウトで小分類マスタのポータルに直接小分類名を入力するとレコードが作成されます。
さっ、そしたらあとは家計簿レイアウトでマスタをプルダウンから選択出来るように設定して、表示されるようにしましょう。
ちと新しいやつを使います。
「値一覧」です。
家計簿レイアウトでレイアウトモードにして、ポータルに配置している大分類IDを選択して、インスペクタの「データ」タブのコントロールスタイルを「ドロップダウンリスト」にして、右下にある「鉛筆」をクリックし、値一覧が開くので、左下の「新規」をクリックし値一覧名を適宜設定し、「フィールドの値を使用」のラジオボタンをチェックすると、「どのテーブルのフィールドを使うのさ?」と聞かれるので、「大分類マスタの大分類ID」を値で使用して、2番目のフィールドの値も表示で「大分類名」を指定するだけ!
こんな感じですね。ブラウズモードに戻ってポータルの大分類IDをクリックしてみてください。
ホラ!さっき作ったマスタがプルダウンに出てきましたね。
もぅホント、ファイルメーカーってカンタンですね。
で、中分類マスタと小分類マスタのプルダウンは関連づいたレコードのみが表示されるようにしたいものです。
次回はその関連づいた値一覧のプルダウンを作成します。
たびたびすみません。
「ファイルメーカーのマスターテーブルサンプルと作り方 その1」の中の・・・
「中分類マスタR」と「小分類マスタR」が
どこで登場したのかわかりません。
各マスタのフィールド等がわかれば嬉しいです。
その1とその2は、わかるようになりました。
ありがとうございます。