スクリプトトリガの設定

スクリプトトリガを設定して、イベントの発生時にスクリプトを実行するように指定することができます。たとえば、スクリプトトリガを使用して、別のフィールドに入力された内容を元にデータがフィールドに自動入力されるスクリプトを実行することが可能です。

スクリプトトリガの中には、データベースエンジンによるイベントの処理前にスクリプトが実行されるものがあります。一方で、データベースエンジンによるイベントの処理後にスクリプトが実行されるスクリプトトリガもあります。たとえば、OnObjectEnter スクリプトトリガを使用すると、フィールドへの入力後にスクリプトを実行することができます。フィールドはオブジェクトですので、フィールドへの入力はイベントとなるためです。

スクリプトトリガは、ユーザの操作、またはスクリプトで実行します。たとえば、フィールドへの入力後にスクリプトを実行する OnObjectEnter スクリプトトリガを実行するには、ユーザがこのスクリプトトリガをクリックするか、または [オブジェクトへ移動] スクリプトステップを使用します。

実行するスクリプトトリガを設定する方法:

スクリプトトリガが割り当てられているレイアウトオブジェクトおよびレイアウトを確認するには、レイアウトモードで [表示] メニュー > [オブジェクト] > [スクリプトトリガ] を選択します。

次のスクリプトトリガを使用できます:

トリガ領域 スクリプトトリガ 処理前 処理後

オブジェクト

OnObjectEnter

 

X

OnObjectKeystroke

X

 

OnObjectModify

 

X

OnObjectValidate

X

 

OnObjectSave

 

X

OnObjectExit

X

 

OnPanelSwitch

X

 

OnObjectAVPlayerChange

 

X

レイアウト

OnRecordLoad

 

X

OnRecordCommit

X

 

OnRecordRevert

X

 

OnLayoutKeystroke

X

 

OnLayoutEnter

 

X

OnLayoutExit

X

 

OnLayoutSizeChange

 

X

OnModeEnter

 

X

OnModeExit

X

 

OnViewChange

 

X

OnGestureTap

X

 

OnExternalCommandReceived

 

X

ファイルオプション

OnFirstWindowOpen

 

X

OnLastWindowClose

X

 

OnWindowOpen

 

X

OnWindowClose

X

 

OnFileAVPlayerChange

 

X

OnWindowTransaction

 

X

スクリプトトリガのタイミング

同じイベントで複数のスクリプトトリガが実行されると、スクリプトトリガは次の相対順で実行されます:

  1. OnFirstWindowOpen

  2. OnWindowOpen

  3. OnLayoutEnter

  4. OnModeEnter

  5. OnRecordLoad

  6. OnLayoutSizeChange

  7. OnViewChange

次のスクリプトトリガでは、トリガイベントによって順序が制御されます:

  1. OnObjectEnter

  2. OnObjectKeystroke

  3. OnLayoutKeystroke

  4. OnGestureTap

  5. OnObjectAVPlayerChange

  6. OnFileAVPlayerChange

  7. OnExternalCommandReceived

  8. OnPanelSwitch

  9. OnObjectModify

  10. OnObjectValidate

  11. OnObjectSave

  12. OnObjectExit

  13. OnRecordCommit または OnRecordRevert

  14. OnWindowTransaction

  15. OnModeExit

  16. OnLayoutExit

  17. OnWindowClose

  18. OnLastWindowClose

メモ 

  • スクリプトトリガで実行されるスクリプトは、既存のアクセス権限を利用します。スクリプトが完全アクセス権で実行されるように定義されていない限り、スクリプトはユーザのアクセス権限で実行されます。

  • カスタム Web 公開および FileMaker Data API では、スクリプトトリガを実行できるのはスクリプトに限られ、ユーザの直接操作では実行できません。カスタム Web 公開および FileMaker Data API では FileMaker クライアントのユーザインターフェースを使用してデータにアクセスしないため、ユーザはスクリプトトリガを直接実行できませんが、スクリプトステップによってフィールドへの移動がフォーカスされると、スクリプトトリガが実行されます。

  • 一部のスクリプトトリガでは、偽の値を返すスクリプトトリガでスクリプトが実行された場合、イベントのトリガをキャンセルすることができます。この方法でコマンドまたはイベントがキャンセルされた場合はエラーコードは 20 に設定されます。詳細については、Get (最終エラー) 関数を参照してください。OnLastWindowClose スクリプトトリガで実行されたスクリプトが偽の値を返した場合、ファイルは閉じません。

  • Windows: Alt と Ctrl キーの組合せはスクリプトトリガをアクティブにしません。

  • macOS: command キーの組合せはスクリプトトリガをアクティブにしません。