タイムカードを集計するテーブルの作成
今回はタイムカードのテーブルのデータを社員(アカウント別)、月別にまとめていきたいと思います。別に集計用のテーブルを作成し、タイムカードのテーブルとリレーションシップを利用してデータをまとめていきます。
このように、まとめたいデータのフィールドを作成します。今のところ、フィールドには集計するための計算式を設定していません。ファイルメーカーの使い方によって、この集計をする方法については考える必要があります。
数字フィールドか計算フィールドか
ファイルメーカーを始めて間もない方は、たいてい計算フィールドに集計するための計算式を設定して行うでしょう。この方法が間違いであるとは言えません。スタンドアロンでファイルメーカーを使用している場合、FileMaker Serverをつかっていてもローカルネットワーク内だけの利用、社員数が十数人程度の規模であれば、それでもかまいません。むしろ、そのほうが楽かもしれません。しかし、規模が大きくなるととてもさばききれなくなります。レコード数が多くなってくると、計算フィールド、特に今回のように別のテーブルの値を使用している場合、非常に遅くなります。今回は、数字フィールドを使って、計算はスクリプトで行うようにしていきたいと思います。
リレーションの設定
図のように、アカウント名、支払月を「=」でつなぎます。また、タイムカード集計テーブル側に「このリレーションシップによるレコード作成を許可する」のチェックを入れます。
集計テーブルにどうやってレコードを作成するか
集計を行うには、集計テーブルにレコードを作成する必要があります。スクリプトで作成する方法を紹介します。
まず、この図のように集計テーブルにフィールドを一つ追加します。タイムカードのテーブルから、このフィールドにデータを書き込むと、集計用のテーブルに自動的にレコードが作成されます。
次回は、集計を行うスクリプトの作成です。
集計用のテーブルの「レコード作成用」というフィールドにタイムカードのテーブルのレイアウトからデータを書き込むと、下の図のようにレコードが作成できます。