在vb6中循环

时间:2014-02-24 16:34:04

标签: vb6

任何人都可以帮我一个Do while Not循环。 我是编程新手:

我需要检查并打印一个列表,并将其限制为5个名称。

Do While Not rsP.EOF And iCount > 5
sLT = sLT & rsP![Name] & vbNewLine
iCount = iCount + 1
rsP.MoveNext
Loop

If rsP.RecordCount > 5 Then
sLT = sLT & "..."
End If

现在它不打印列表,如果我拿出iCount> 5,它显示,但我需要将它限制为最多只显示5个名字?我应该将iCount更改为什么? 感谢

3 个答案:

答案 0 :(得分:3)

假设iCount在循环外为零:iCount > 5最初为假,因此循环不会运行。

只需更改为:

Do While Not rsP.EOF And iCount < 5

答案 1 :(得分:0)

放弃使用否定逻辑:

Do Until rsP.EOF Or iCount >= 5
    sLT = sLT & rsP![Name] & vbNewLine
    iCount = iCount + 1
    rsP.MoveNext
Loop

答案 2 :(得分:0)

问题是尝试在同一语句中评估记录集EOF和循环计数。尝试循环记录集,并在打印所需数量的记录时退出循环。如果您的记录少于5条,则Do While语句将评估为False,并且将退出循环。

Do While Not rsP.EOF
    sLT = sLT & rsP![Name] & vbNewLine
    iCount = iCount + 1
    If iCount >= 5 Then
        Exit Do
    End If
    rsP.MoveNext
Loop