Crystal Reports Designer  

Do 迴圈 (Basic 語法)

Do 迴圈可用來無限制地執行陳述式的固定區塊。

四種不同類型的 Do 迴圈

Do 迴圈的類型 說明 範例
Do While ?Loop Do While ...Loop 會驗算條件,如果條件為 True,就接著驗算條件之後的陳述式。

驗算結束後,此迴圈會繼續驗算條件,而如果條件為 True,又會再次驗算陳述式。

這個程序會繼續重複進行,直到條件為 False 時。

Do While condition
   statements
Loop
Do Until ...Loop Do Until ...Loop 與 Do While ...Loop 類似,不同之處在於 Do Until Loop 會一直進行陳述式的驗算,直到條件驗算結果為 True,而不是當條件為 True 時進行驗算。
Do Until condition
   statements
Loop
Do ...Loop While 不論什麼情況之下,Do ...Loop While 只會驗算一次陳述式。

然後驗算條件,如果條件為 True,則再驗算一次陳述式。這個程序會繼續重複進行,直到條件為 False 時。

Do
   statements
Loop While condition
Do ...Loop Until 與 Do ...Loop While 類似,不同之處在於 Do ... Loop Until 在驗算出條件結果為 True 前,都會一直驗算陳述式。
Do
   statements
Loop Until condition
注意   Do 迴圈支援 Exit Do 陳述式立即跳出迴圈。Exit Do 陳述式與 For/Next 迴圈中的 Exit For 類似。

Do While ...迴圈公式範例

以下的範例會搜尋輸入字串中出現的第一個數字。假如找到數字,會傳回它在字串中的位置,否則會傳回 –1。在此範例中,將輸入字串明確地設定為字串常數,但是也可以將它設定為等於字串型別資料庫欄位。

例如,輸入字串「The 7 Dwarves」時,公式會傳回 5,也就是數字 7 的位置。

Dim inString
inString = "The 7 Dwarves"
Dim i, strLen
i = 1
strLen = Len (inString)
formula = -1
Do While i <= strLen And formula = -1
   Dim c As String
   c = Mid (inString, i, 1)
   If IsNumeric (c) Then formula = i
   i = i + 1
Loop

請參閱

While 迴圈