1. FM Paradise
  2. 実践編
  3. 勤怠管理で行ってみよう! Part7(タイムカードの集計3・集計スクリプト)

勤怠管理で行ってみよう! Part7(タイムカードの集計3・集計スクリプト)

前の記事はこちら

前回は、集計用のテーブルとフィールドを作成しました。今回はそのフィールドに集計値を入力するためのスクリプトについて紹介していきます。

基本的なスクリプトの流れとしては、集計用のレコードを作成→集計用のレイアウトへ移動し、フィールド設定を使って、集計値を入力していきます。

メインメニューにいつのデータを集計するかを入力するフィールドを作成

まず、第一段階として、メインメニューにいつの月のデータを集計するかを入力するためのフィールドを作成しましょう。下記の図のようになります。このフィールドはグローバルフィールドとします。

集計する月を判定するためのフィールドをグローバルフィールドとして作成

また、このフィールドをメインメニューのレイアウトへ配置します。

グローバルフィールドをメインメニューへ配置

「タイムカード集計」ボタンも配置して、下記で紹介するスクリプトを実行するように設定します。

スクリプトについて

タイムカードのデータを集計するためのスクリプト
行数解説
1スクリプト実行中にFileMaker Proのエラーメッセージを表示させないために使用します。
2~5メインメニューへ設置した集計する支払月が入力されているかをチェックします。入力されていない場合は、カスタムダイアログを表示してスクリプトを終了します。
7~10入力された月のタイムカードのデータを検索します。
11~15前の検索で、何もない場合は以降の処理をしないように、エラーメッセージを出して、スクリプトを終了します。
16~22タイムカード集計のテーブルにレコードを作成するために行います。タイムカードのテーブルから、タイムカード集計のテーブルのフィールドにフィールド設定で書き込むことによって、レコードが作成されます。すでにある場合は作成されません。
23~26タイムカード集計のテーブルのレイアウトに移動して、その支払月のデータを検索します。
28~30タイムカードのテーブルのデータを集計します。フィールド内容の全置換を使って、sum関数を使い集計します。sum関数は関連するレコードのデータを集計するのに便利な関数です。
31最後に、処理が終わったことを表示して終了です。

次の記事(タイムカードの作成スクリプト)