Ms access Recordsetclone循环

Ms access Recordsetclone循环,ms-access,vba,Ms Access,Vba,下面的代码可以工作,但只对连续形式的第一条记录起作用,而不是循环抛出这些记录。因此,如果选中第一条记录,则我会收到消息“您需要在继续之前选择一个释放复选框”。如果未选中,则我会收到另一条消息 我需要它做的是运行所有的复选框,即“ReleaseProduct”,并在它到达的第一个复选框时退出sub。如果有,则发送消息,如果没有任何复选框选中,则运行Cancel=fncRequiredReleaseSelectedEmail(Me)并退出sub。我在某处打乱了循环 这是我在表单按钮中的代码

下面的代码可以工作,但只对连续形式的第一条记录起作用,而不是循环抛出这些记录。因此,如果选中第一条记录,则我会收到消息“您需要在继续之前选择一个释放复选框”。如果未选中,则我会收到另一条消息

我需要它做的是运行所有的复选框,即“ReleaseProduct”,并在它到达的第一个复选框时退出sub。如果有,则发送消息,如果没有任何复选框选中,则运行Cancel=fncRequiredReleaseSelectedEmail(Me)并退出sub。我在某处打乱了循环

这是我在表单按钮中的代码

    Dim Cancel As Integer
Dim rs As Recordset
Set rs = Me.frmsub_ProductHoldData.Form.RecordsetClone
With rs
    .MoveFirst
    Do While Not .EOF
        If rs.Fields("ReleaseProduct") = False Then
            MsgBox "You need to select a RELEASE check box before proceeding.", vbInformation, "Selection Error"
            Exit Sub
        Else
            Cancel = fncRequiredReleaseSelectedEmail(Me)
            Exit Sub
        End If
        .MoveNext
    Loop
End With

我很难判断这是否正是你要寻找的,但这将检查所有这些记录,只有在检查一个记录后才采取行动

仅当未选中任何复选框时,才会显示关于选择释放复选框的警告

Dim Cancel As Integer
Dim rs As Recordset
Set rs = Me.frmsub_ProductHoldData.Form.RecordsetClone
With rs
    .MoveFirst
    Do While Not .EOF
        If rs.Fields("ReleaseProduct") = True Then
            Cancel = fncRequiredReleaseSelectedEmail(Me)
            Exit Sub
        End If
        .MoveNext
    Loop
    MsgBox "You need to select a RELEASE check box before proceeding.", vbInformation, "Selection Error"
End With

在两种
If
条件下都有
Exit Sub
。它不会做超过一次的传递。