FileMaker

お役立ちブログ

Loop 機能について

こんにちは。
前回まで、Googleブログにて投稿をさせていただいておりました記事について、今週から当社ホームページにて投稿を行うことにいたしました。
FileMakerにまつわる、便利な関数や機能について、ご紹介をさせていただきます!

今回は、スクリプトステップのセットを繰り返して実行してくれるLoop機能についてです。
FileMakerヘルプサイトに掲載されている例がこちらです。

例 1
すべてのレコードで [顧客::勤務先電話番号] の内容を [顧客::日中の連絡先] にコピーします。

レコード/検索条件/ページへ移動 [最初の]
Loop
 フィールド設定 [顧客::日中の連絡先; 顧客::勤務先電話番号]
 レコード/検索条件/ページへ移動 [次の; 最後まできたら終了: オン]
End Loop

例 2 
レコードをループして、オブジェクトフィールド内のファイルをエクスポートします。

変数を設定 [$パス; 値: Get (ドキュメントパス) & 製品::オブジェクト]
レコード/検索条件/ページへ移動 [最初の]
Loop
   フィールド内容のエクスポート [製品::オブジェクト; 「$パス」 ; フォルダを作成: オフ]
   レコード/検索条件/ページへ移動 [次の; 最後まできたら終了: オン]
End Loop

例にあるように、対象のレコード項目に対して、追加・変更・エクスポートなど編集を一括で加えることができます。

LoopとEnd Loopがセットとなっており、その間に連続で実行したいスクリプトを記述します。

これだけだと全てのレコードに対してが対象となりますが、Exit Loop Ifを使って、どの状態になればループを終了するかを指定することも可能です。

例えば、例1において、1〜10のレコードだけをコピーしたい、という時は、
何ループ目かをカウントする変数を$count、コピーしたい総数を$volume = 10 とし、下記のようにループ処理を行います。

レコード/検索条件/ページへ移動 [最初の]
Loop
 変数を設定 [ $count ; $count +1 ]
 フィールド設定 [顧客::日中の連絡先;  顧客::勤務先電話番号]
 レコード/検索条件/ページへ移動 [次の; 最後まできたら終了: オン]
 Exit Loop If [ $count ≧ $volume ]
End Loop

Exit Loop If で、$countが$volumeの10以上になればループ終了、となります。

この、Exit Loopを活用する際に、前回・前々回にご紹介したGetValue関数ValueCount関数を活用することができます。
その活用方法について、また来週お話しさせていただきます。

FileMaker19[Loop]ヘルプサイト

FileMaker開発記事

マイページ機能

FileMakerとWebサイトとの連携で、顧客との円滑なやり取りが可能となるほか、業務効率の改善にも繋がります。

墓掃除システム

墓地管理、墓地清掃、供花管理など、定期的な作業を標準化。煩雑な業務作業の見える化を可能にするシステムです。

顔パス受付システム

AIサーマルカメラとFileMakerとの連動による新型受付システムです。
顔認証で体温測定と受付を同時に完了、会員登録の手間も不要に。学習塾などでは入退出時に親へメール自動送付サービスもつけられます。

栽培管理システム

栽培管理システム とは、植物工場 での野菜栽培において、膨大なデータを一括管理できるシステムです。高品質な野菜を栽培するために必要なあらゆる情報を見える化し、業務効率向上を図ります。

その他の記事