Ms access 在命令按钮上取消选择连续表单选择单击

Ms access 在命令按钮上取消选择连续表单选择单击,ms-access,vba,ms-access-2003,continuous-forms,Ms Access,Vba,Ms Access 2003,Continuous Forms,我有一个启用了记录选择器的连续访问表单。以下是BTNPrintReceivement click事件处理程序的代码。我希望它获取每个选定记录的ReceiptID,并用这些id打开报告。问题是,当您单击命令按钮时,它会取消选择所有记录(我看到它发生了),并且只保留最上面的记录 Private Sub btnPrintReceipt_Click() 'Build filter string containing all selected receipt ids Dim FilterS

我有一个启用了记录选择器的连续访问表单。以下是BTNPrintReceivement click事件处理程序的代码。我希望它获取每个选定记录的ReceiptID,并用这些id打开报告。问题是,当您单击命令按钮时,它会取消选择所有记录(我看到它发生了),并且只保留最上面的记录

Private Sub btnPrintReceipt_Click()
    'Build filter string containing all selected receipt ids
    Dim FilterString As String

    'Move to first record
    Dim rsReceipts As Recordset
    Set rsReceipts = Me.RecordsetClone
    rsReceipts.Move Me.SelTop - 1

    'Cycle through and record
    Dim i As Integer
    For i = 0 To Me.SelHeight
        FilterString = FilterString & "([ReceiptNumber]=" & rsReceipts![ReceiptNumber] & ") OR "
        rsReceipts.MoveNext
    Next

    'Remove trailing or
    Dim NewStringLenth As Integer
    NewStringLenth = Len(FilterString) - 4
    If NewStringLenth > 0 Then
        FilterString = Left(FilterString, NewStringLenth)
    Else
        FilterString = ""
    End If

    'Open the report
    DoCmd.OpenReport "rptReceipt", acViewPreview, "", FilterString
End Sub

微软在这方面有一篇相当长的文章,这篇文章也适用于更高版本。这篇文章包括在命令按钮上运行的代码。

微软有一篇相当长的文章,这篇文章也适用于更高版本。本文包括在命令按钮上运行的代码。

请参阅@Remou-谢谢!我之前浏览过那篇文章,没有看到关于这种行为的说明。你能把这个作为回答,这样我就可以接受了吗?请看@Remou-谢谢!我之前浏览过那篇文章,没有看到关于这种行为的说明。你能把这个作为回答,这样我就可以接受了吗?