请问这个VB代码中的Exit Do是跳出Do Until循环吗?跳出Do Until后接着执行的是Call ReleaseRecordset(m_rs)吗?

C罗子 2016-11-29 10:25:52
Private Function TraceabilityZCheck() As String
Dim m_rs As ADODB.Recordset
Dim ChkStr As String
On Error GoTo Err_Handler
TraceabilityZCheck = ""
ChkStr = ""
Set m_rs = m_rsDirect.Clone(adLockReadOnly)
Do Until m_rs.EOF = True
If (m_rs.Fields("数量").Value <> "") _
And (IsNull(m_rs.Fields("重量").Value) Or m_rs.Fields("重量").Value = "") _
Then
ChkStr = ChkStr + CStr(m_rs.Fields("CD"))
Exit Do
End If
m_rs.MoveNext
Loop
Call ReleaseRecordset(m_rs)
TraceabilityZCheck = ChkStr
Exit Function
End Function 'TraceabilityZCheck
...全文
485 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
C罗子 2016-11-29
  • 打赏
  • 举报
回复
引用 2 楼 Chen8013 的回复:
Do循环的“范围”就是 Do . . . . . . . . Loop之间的这个“语句块”, 如果用 Exit Do 跳出循环,它执行的“下一句”就是紧跟着 Loop的那一句。 你这个只是“单层循环”,很容易找到它的“下一句”是哪句; 如果是“多重循环”,你就要看清楚它是“属于哪一层的”,   当执行到 Exit Do时,要注意:它“只是跳出它所在的这一层”。
谢谢!
舉杯邀明月 2016-11-29
  • 打赏
  • 举报
回复
Do循环的“范围”就是 Do . . . . . . . . Loop之间的这个“语句块”, 如果用 Exit Do 跳出循环,它执行的“下一句”就是紧跟着 Loop的那一句。 你这个只是“单层循环”,很容易找到它的“下一句”是哪句; 如果是“多重循环”,你就要看清楚它是“属于哪一层的”,   当执行到 Exit Do时,要注意:它“只是跳出它所在的这一层”。
舉杯邀明月 2016-11-29
  • 打赏
  • 举报
回复
是的。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧