動作の仕組み

カレンダーのテーブルとイベントのテーブルの間にはリレーションシップが設定されていませんが、どのように動作しているのですか?

以下の図表をご覧ください。

 

  1. SQLクエリが、関連する日/週/月のレコードを検索し、グローバル変数として書き込みます。動作が遅いように思えるかもしれませんが、実はたいへん高速です。その後、付加的なスクリプトがこの変数を参照し、さらにここから変数を作ります。そのため、他のスクリプトは、「$$sc_ArrayContent」などの変数を簡単にインポートできます。 
  2. 次に、カレンダーのレイアウトに、「CalendarRows」テーブルからのポータル行が表示され、日/週/月のグリッドが描画されます。 
  3. 最後に、「CalendarRows」テーブルの計算フィールドがグローバル変数を使用してその日のイベントを見つけ、関連するコンテンツを表示します。

このアイディアでは、描画する必要のある「セル」の数は問いません。カレンダーはFileMaker Serverからデータを一度取得するだけです。このようにして、複数のポータルに基づくカレンダーよりもずっと高速で動作します。