Loop 構造の例
[Loop]、[Exit Loop If]、および [End Loop] スクリプトステップは、スクリプトステップを繰り返すことができるようにする構造を定義します。[Loop] と [End Loop] の間に挟まれたスクリプトステップは、[Exit Loop If] の条件が満たされるまで、または [レコード/検索条件/ページへ移動] スクリプトステップや [ポータルへ移動] スクリプトステップの [最後まできたら終了] の条件が満たされるまで繰り返されます。
[Exit Loop If] スクリプトステップを使用して、評価する計算式を指定します。計算結果が0でない場合には、この式は真(True)であると評価され、ループが終了します。計算結果が0になった場合は、この式は偽(False)であると評価され、ループは繰り返し実行されます。
フィールド設定 [売上::カウント = 0]Loop
Exit Loop If [売上::カウント = 25]
フィールド設定 [売上::カウント; 売上::カウント + 1]
スクリプト実行 [「ボーナス」]
End Loop
上の例では、最初のステップでループに使用するフィールドを「カウント」というフィールドに設定し、そのフィールドに0という値を入力しています。[Loop] と [End Loop] は、ループ構造を決めるためのスクリプトステップです。 どちらも省略することはできません。
「Exit Loop If」スクリプトステップは、ファイルメーカーPro に対し、「カウント」フィールドの値が 25 になったらループ内のそれぞれのステップの実行を終了すると指示しています。 次の「フィールド設定」スクリプトステップでは、ループが実行されるたびに「カウント」フィールドの値に1が加えられています。[スクリプト実行] スクリプトステップには、ループ構造が終了していない限り、実行する必要のあるスクリプトを指定します。「カウント」の値が 25 になったら、ループを終了し、[End Loop] スクリプトステップの次にステップがあれば、制御がそのステップに移ります。
上の例では、最初のステップによって、ファイル内の最初のレコードに移動します。[Loop] と [End Loop] は、ループ構造を決めるためのスクリプトステップです。[フィールド設定] スクリプトステップでは、「給与」フィールドの値を 10% 増加させるという処理が行われます。[レコード/検索条件/ページへ移動] スクリプトステップにより、ファイル内の次のレコードに移動します。 ファイル内の最後のレコードが検出されるまで、「給与」フィールドの値を 10% 増やし、次のレコードに移動するという処理が繰り返し実行されます。[レコード/検索条件/ページへ移動] スクリプトステップには [
最後まできたら終了] オプションが指定されているため、最後のレコードの処理が終了すると、ループも終了します。