情况:我根据我放在表单中的查询生成报告。我想要做的是创建4个组合框,用户可以从中选择过滤报告的选项,而无需离开表单或在单独的窗口中打开报告。
另外,我想让滤镜相互依赖,这意味着如果我在组合框1上选择选项A,我将在组合框2上选择的选项将仅基于组合框1上的早期滤镜。我道歉如果我我没有清楚地解释这一点。
问题:到目前为止,我能够完成至少2个组合框来过滤报告,但它们并不是基于首先用于过滤报告的组合。因此,如果我通过在组合框1上选择选项A来过滤记录,则组合框2仍将过滤每条记录。
以下是用于两个组合框的代码:
Private Sub cboLocation_AfterUpdate()
On Error GoTo Proc_Error
If IsNull(Me.cboLocation) Then
Me.qrySalesByLocation.Report.Filter = ""
Me.qrySalesByLocation.Report.FilterOn = False
Me.qrySalesByLocation.Report.Requery
Else
Me.qrySalesByLocation.Report.Filter = "[Location]=" & Me.cboLocation
Me.qrySalesByLocation.Report.FilterOn = True
End If
Proc_Exit:
Exit Sub
Proc_Error:
MsgBox "Error " & Err.Number & " in setting subform filter:" & vbCrLf & Err.Description
Resume Proc_Exit
End Sub
==========
Private Sub cboProduct_AfterUpdate()
On Error GoTo Proc_Error
If IsNull(Me.cboProduct) Then
Me.qrySalesByLocation.Report
Me.qrySalesByLocation.Report.Filter = ""
Me.qrySalesByLocation.Report.FilterOn = False
Me.qrySalesByLocation.Report.Requery
Else
Me.qrySalesByLocation.Report.Filter = "[Product]=" & Me.cboProduct
Me.qrySalesByLocation.Report.FilterOn = True
End If
Proc_Exit:
Exit Sub
Proc_Error:
MsgBox "Error " & Err.Number & " in setting subform filter:" & vbCrLf & Err.Description
Resume Proc_Exit
End Sub
=====
使用其他2个组合框,我无法应用相同的代码,因为输入参数对话框不断弹出。
提前感谢您的帮助!