スクリプトトリガについて その1 (FileMaker Pro12)

2013年03月23日 12:20 AM

ファイルメーカーのTips


今回は、ファイルメーカー10 (FileMaker 10)から導入されたスクリプトトリガ機能について、ご紹介いたします。

スクリプトトリガを簡単に説明しますと、「ユーザーのアクションによりスクリプトを実行させる事ができるもの」です。

FileMaker社のWebサイトにもスクリプトトリガについてのページがありますので、こちらもご参照ください。

http://www.filemaker.co.jp/products/filemaker-pro/script_triggers.html

スクリプトトリガを使用する事で、利用者がより使いやすいソリューションを作成する事ができます。

 

さて、実際に設定するには設定画面を開く必要があるのですが、スクリプトトリガの設定ができる画面は3つあります。

(逆にいうと、1つの画面で全てのスクリプトトリガの設定はできません。)

①レイアウトモードでオブジェクト(※)を選択し、メニューの[書式]-[スクリプトトリガ設定]から開かれる『スクリプトトリガ設定』画面

(※グラフィックオブジェクト(テキスト,線,長方形,角丸長方形,楕円,ピクチャ)を除く)

②レイアウトモード時メニューの[レイアウト]-[レイアウト設定]から開かれる『レイアウト設定』画面

③メニューの[ファイル]-[ファイルオプション]から開かれる『ファイルオプション』画面

130322-01

 

それぞれの画面で設定できるスクリプトトリガと使用できるバージョン、簡単な説明を以下の表にまとめましたので、

ご参考にして頂ければと思います。

(説明は上記FileMaker社のページの表現を使用しています。* FileMaker Pro 12 に追加された新機能)

設定

スクリプトトリガ名

12

11

10

説明

①

OnObjectEnter

○

○

○

あるフィールドに入った後

OnObjectKeystroke

○

○

○

フィールドに入力されたとき

OnObjectModify

○

○

○

値が変更された後

OnObjectValidate

○

○

オブジェクトが検証される前

OnObjectSave

○

○

○

データが保存される前

OnObjectExit

○

○

○

フィールドから出る前

OnTabSwitch

○

タブを変更するとき*

②

OnRecordLoad

○

○

○

レコードからレコードへ移動するとき

OnRecordCommit

○

○

○

レコードが確定される前

OnRecordRevert

○

○

○

確定されていないレコードが元の値に戻ったとき

OnLayoutKeystroke

○

○

○

アクティブなレイアウトに文字が入力される前

OnLayoutEnter

○

○

○※1

レイアウトがアクティブになるとき

OnLayoutExit

○

○

レイアウトを終了するとき

OnModeEnter

○

○

○

ブラウズモード、プレビューモード、または検索モードから変わるとき

OnModeExit

○

○

○

ブラウズモード、プレビューモード、または検索モードから変わるとき

OnViewChange

○

○

リスト形式、フォーム形式、表形式の間で切り替えるとき

③

OnFirstWindowOpen

○

ウインドウが開くまたは閉じるとき*

OnLastWindowClose

○

ウインドウが開くまたは閉じるとき*

OnWindowOpen

○

ウインドウが開くまたは閉じるとき*

OnWindowClose

○

ウインドウが開くまたは閉じるとき*

※1:バージョン10ではOnLayoutLoad という名前になっています。

 

次回その2では、上記FileMaker社のページにあるスクリプトトリガの活用法を実際に実装してみた例をご紹介したいと思います。

(約3週間後の公開になります。)

 

かなりの時間が空いてしまいますが、FileMaker Technical Network (TechNet)に、54ページに亘るテクニカルブリーフが公開されていますので、そちらもご覧になってみてください。

https://fmdev.filemaker.com/docs/DOC-1514 (閲覧するにはFileMaker Technical Networkへの登録(無料)が必要です)

FileMaker Technical Networkへの登録は無料ですので、まだ登録されていらっしゃらない方は、ぜひこの機会に登録してみてください。