ポータルの設定
リレーションの説明はこれくらいにして、次はオブジェクト、「ポータル」について少し説明します。
現在用意されているレイアウトで、唯一、顧客詳細レイアウトにポータルが設定されています。担当者一覧タブ上に表示されている部分がポータルです。この画面でレイアウトモードにすると、このポータルが利用するTOがpersons TOであることが分かります。
ここには、clientIDが一致するpersonsレコードが表示されています。また、このポータルの一番下の空欄行に入力することで、personsテーブルには、clinetIDを持ったレコードが生成されます(このために、リレーションシップの設定で[このリレーションシップを使用して、このテーブルの作成を許可]にチェックが付いていました)。
報告書を表示するポータルを追加しましょう。ポータルをのせる場所を確保するために、タブコントロールに「報告書一覧」タブを用意します。
レイアウトモードにして、タブをダブルクリックすると、「タブコントロール設定」が表示されます。
タブ名に「報告書一覧」と入力して[作成]ボタンを押すと、図のように「報告書一覧」タブが追加されます。
これで場所が確保できたので、client_report TOを利用したポータルを実際に置いてみましょう。
例によって、ステータスエリアのツールパネルからポータルツールを選択します。
タブの上で、ドラッグしてポータルの大きさを決定すると、ポータルの設定ウィザードが開始されます。最初は「ポータル設定」です。[関連レコードを表示]で「clients_reports TO」を選択します。書式は「1」行目から「10」行分表示とここではしておきます。
次は「ポータルにフィールドを追加」です。
追加したいフィールドを選択して[移動]ボタンをクリックします。今回は以下のフィールドを指定します。
ここで、フィールド名に注意してください。フィールド名の前に「clients_reports」と付加されています。今後、レイアウトにフィールドを置いたり、スクリプトのなかでフィールドを指定するときには、この記述が頼りになります(ですから、リレーションシップグラフで指定するTO名が非常に大事になるのです)。
ここまできたら、[OK]ボタンをクリックします。すると次のようにレイアウト上にフィールドが配置されたポータルが出来上がります。
ポータルの色や、項目のラベルや幅を調整して見栄えを整えたら、出来上がりです。
顧客画面に報告書のポータルを追加したのと同様の手順で、案件詳細や、社員詳細にもポータルを追加してみてください。
次回は
FileMakerでのリレーションの設定や考え方、リレーションを利用したポータル機能の追加についてざっと解説しました。いかがだったでしょうか? 次回は引き続き、ポータルから選択した報告書へのリンクボタンや、報告書をPDF化してメールを送信するなどの具体的なテクニックについて解説していきます。