报告的多个记录源

时间:2016-03-25 19:34:18

标签: ms-access

在Access 2013中,我有4个不同的查询,最终需要绑定到一个报表。当位于表单上的组合框中的值不是“*”时,需要使用每个查询(有4个不同的组合框,每个查询一个)。我想知道是否可以使用If语句的变体来让Access根据这4个组合框中的每个框中的值知道我需要使用哪个查询。

例如: 如果[表单]![报表控制台]![cbo1]<>“”(不是空白)然后使用Query1作为报表的记录源,IF [Forms]![Report Console]![ cbo2]<>“”然后使用Query2作为记录源等。 它可能吗?谢谢!

1 个答案:

答案 0 :(得分:1)

是的,您可以在RecordSource事件中设置报告的On Open

Private Sub Report_Open(Cancel As Integer)

    If Nz([Forms]![Report Console]![cbo1], "") <> "" Then
        Me.RecordSource = "Query1"
    ElseIf Nz([Forms]![Report Console]![cbo2], "") <> "" Then
        Me.RecordSource = "Query2"
    ' etc
    End If

End Sub

当然,所有查询都必须返回相同的列集。