Crystal Reports Designer  

無限ループの回避(Basic 構文)

無限ループが原因でレポート処理が停止してしまうことを防ぐための安全装置があります。式を 1 回評価する間に、最高で 100,000 回まではループ条件の評価が可能です。例 :

Dim i
i = 1
Do While i <= 200000
If i > {movie.STARS} Then Exit Do
i = i + 1
Loop
formula = 20

{movie.STARS} が 100,000 より大きい場合、ループ条件 (i <= 200000) は最大の評価回数を超えて評価されるので、エラー メッセージが表示されます。30,000 以下の場合は、ループは可能です。

安全装置は、個々のループではなく、式単位で適用されます。例 :
Dim i
i = 1
For i = 1 To 40000
formula = Sin (i)
Next i
Do While i <= 70000
i = i + 1
Loop

この式でも安全装置が作動します。100,000 という数字は、式の中でループ条件が評価される合計回数を意味します。この式はそのような評価を 40001 +70001 回実行するため安全装置が働きます。

参照

For/Next ループ | Do ループ | While ループ