0

Filemaker Pro 11 で、OnRecordLoad のすべてのインスタンスで実行するようにトリガーされるスクリプトであるスクリプトを作成しましたが、ユーザーが LIST または TABLE VIEWS で作業しているときに実行したくありません。

このロジックの行に沿って何かを行うスクリプトの先頭に置くことができるコードはありますか:

「CURRENT VIEW が FORM VIEW でない場合、スクリプトを終了します」

これにより、実行前にスクリプトが効果的に終了します。

私は FM を扱うのが初めてで、スクリプト内で現在のビューの状態を確認する方法がわかりません。それが不可能な場合、ユーザーが現在どのビュー (フォーム、リスト、またはテーブル) にいるかに応じて、特定のスクリプト トリガーが有効になるように制限する方法はありますか?

ご協力いただきありがとうございます。

4

2 に答える 2

2

Get(LayoutViewState)関数を使用します(http://www.filemaker.com/12help/html/func_ref2.32.50.html

If[ Get ( LayoutViewState ) = 0 ]
    //They're in form view, do stuff
Else
    //They're in list view or table view, skip
End If
于 2013-02-05T18:36:04.950 に答える
1

スクリプトは、最初に次の行を含める必要があります。

If[Get(LayoutViewState)<>0]{
    Exit Script[]
}

これにより、基本的に、ユーザーのレイアウトがフォーム ビューにある場合にのみスクリプトが実行されることが保証されます。

Get (レイアウト ビューの状態)は次を返します。

  • フォーム ビューの場合は0 、
  • リストモードの場合は1
  • テーブル ビューの場合は2 。

同様の関数は Get (ウィンドウ モード) で、次を返します。

  • ブラウズ モードの場合は0
  • 検索モードの場合は1
  • プレビュー モードの場合は2

お役に立てれば。

于 2013-02-05T18:38:44.043 に答える