Crystal Reports Designer  

避免無限迴圈 (Basic 語法)

迴圈有一個安全機制,可以防止處理報表時因為無限迴圈而導致停止。任何公式的驗算,每次最多可以驗算迴圈條件 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) 的次數將會超過最大次數,就會產生錯誤訊息。否則的話,這個迴圈就沒有問題。

注意   這個安全機制僅限用於每個公式內,並不適用於個別迴圈。例如:
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 迴圈