エラー時のトランザクション復帰設定

エラー発生時にすぐにトランザクションを復帰するかどうかを制御します。

オプション 

  • [オン] の場合は特定のエラーが発生するとすぐにトランザクションを自動的に復帰します。これは、このスクリプトステップが使用されていない場合のデフォルトの動作です。

  • [オフ] の場合は特定のエラーが発生した後でもトランザクション内のステップを続行します。

互換性 

製品 サポート
FileMaker Pro はい
FileMaker Go はい
FileMaker WebDirect はい
FileMaker Server はい
FileMaker Cloud はい
FileMaker Data API はい
カスタム Web 公開 はい

起点バージョン 

21.1.1

説明 

このスクリプトステップが [オン] の場合、トランザクション内のスクリプトステップが正しくデータを作成、更新、または削除できないためにエラーを返すと、トランザクションが自動的に復帰します。これは[トランザクション復帰] スクリプトステップが条件なしで実行されるときと同じ動作です。次のタイプのエラーではトランザクションが自動的に復帰します:

  • 入力値の制限が常時に設定されているフィールドへの変更が、フィールドの制限オプションと一致しない場合

  • フィールドアクセスなし、レコードアクセスなし、テーブルアクセスなしなどのアクセス権エラーがある場合

このスクリプトステップを [オフ] にするとトランザクション内に独自のエラー処理を追加できます。たとえば、トランザクションを復帰させる可能性のあるエラーが発生した場合、スクリプトはエラーを処理してから、トランザクション全体の復帰を避けるために処理を再試行できます。

[オフ] にすると、このスクリプトステップはスクリプトデバッガでのトランザクションのデバッグにも役立ちます。エラーは自動的にトランザクションを復帰しないため、次のステップをトランザクション内など通常許可されない任意の場所でも設定できます。

メモ 

  • [エラー時のトランザクション復帰設定] の現在の状態を取得するには、Get (エラー時のトランザクション復帰状態) 関数を使用します。

  • [オフ] に設定すると、変更されない限り現在のスクリプトとサブスクリプトが実行されている間は [エラー時のトランザクション復帰設定] がオフのままになります。現在のスクリプトが終了すると、状態は [オン] に戻ります。

例 1 

トランザクションを開き、テキストフィールドと入力値の制限が数字データのみの数字フィールドを設定します。テキストの [フィールド設定] は成功します。数字の [フィールド設定] は検証に失敗してエラーが返されますが、トランザクションは自動的に復帰されません。代わりにカスタムダイアログが表示されてから、トランザクションが確定されてテキストフィールドのみが変更されます。

コピー
エラー時のトランザクション復帰設定 [オフ]
トランザクションを開く [ ]
    フィールド設定 [テーブル::テキスト ; "小説" ]
    フィールド設定 [テーブル::数字 ; "それは暗い嵐の夜だった..."]
    If [Get (最終エラー) > 0]
        カスタムダイアログを表示 ["「数字」で問題が発生しました。"]
    End If
トランザクション確定