我有一份报告列出了几次会议,每次会议都有几条记录。我已经设置了一个弹出表单来选择一个带有组合框的特定会议日期,并使用它来过滤表单以进行打印。(内置过滤点击很笨拙,显然组合框不适用于报告。)这一切都在第一次通过时正常工作。当我尝试选择不同的会议日期时出现问题 - 尽管所有努力清除过滤器,但报告仍显示选择的第一个会议,而不是关闭表单并重新打开。我在打开选择表单的报告按钮中放置了以下代码:
Private Sub cmdMeetingSelect_Click()
'Clear any pre-existing filter
Me.Filter = ""
Me.FilterOn = False
'Open form to filter the report
DoCmd.OpenForm "frmMeetingSelect"
End Sub
表单打开,我看到报表上的过滤器已关闭,我可以在表单上选择一个新日期,但旧日期仍用于再次过滤报表。
在选择表中包含以下内容无济于事:
Private Sub Form_Open(Cancel As Integer)
Me.cboMeetingSelect = ""
End Sub
这是选择表单中的代码,将过滤器选项发送回报告。不确定它是否使它只工作一次:
Private Sub cmdFilterMeeting_Click()
'Run a filter on the RSVPAttendance report
Reports!rptRSVPAttendance.Filter = "MeetingDate = Forms!frmMeetingSelect.cboMeetingSelect"
Reports!rptRSVPAttendance.FilterOn = True
'Close selection form
DoCmd.Close
End Sub
在报告中点击Advanced -> Clear All Filters
也是无效的。
我已经看到了一些关于在 Access 2010 中使用组合框过滤表单的错误的旧报告,但现在肯定已经解决了吗?我还缺少什么?