【问题标题】:Hide Detail Field Depending other variable in Access Report View (Not Print View)隐藏详细信息字段取决于访问报告视图中的其他变量(不是打印视图)
【发布时间】:2015-12-24 01:04:14
【问题描述】:

我在报告的“详细信息”部分中有一个选项卡式控件 (TabCtl45),它具有三个选项卡。 (第 1 页、第 2 页、第 3 页)。我只想根据另一个称为费用类型的变量显示一个页面。如果 FeeType = 1,则显示 Page1 选项卡。如果 FeeType = 2,则页面 Page2 选项卡显示...等等。

我能够通过 OnFormat 事件在“打印视图”中完成这项工作;但是,我希望我的所有数据都在一个易于流动的页面中,例如报表视图。 不在单独的页面中,如打印视图输出。

代码如下所示:

如果 Me.FeeType = "1" 那么

Me.TabCtl45.Pages("Page1").Visible = True

Me.TabCtl45.Pages("Page2").Visible = False

Me.TabCtl45.Pages("Page3").Visible = False

ElseIf Me.FeeType = "2" Then

Me.TabCtl45.Pages("Page1").Visible = False

Me.TabCtl45.Pages("Page2").Visible = True

Me.TabCtl45.Pages("Page3").Visible = False

ElseIf Me.FeeType = "3" Then

Me.TabCtl45.Pages("Page1").Visible = False

Me.TabCtl45.Pages("Page2").Visible = False

Me.TabCtl45.Pages("Page3").Visible = True

如果结束

如何让此代码在我报告的“详细信息”部分的报告视图中工作?在属性“详细信息”部分中,我没有看到为此目的工作的任何事件。

【问题讨论】:

    标签: ms-access vba report ms-access-2007 show-hide


    【解决方案1】:

    你不能。报告视图相当有限,部分事件(如Detail.OnFormat)根本不会在此视图中运行。仅在打印/打印预览中。

    在报表视图中格式化单个记录的唯一方法是条件格式,但这并不能隐藏内容。


    在不相关的注释中,您可以通过以下方式大大简化代码:

    Me.TabCtl45.Pages("Page1").Visible = (Me.FeeType = "1")
    Me.TabCtl45.Pages("Page2").Visible = (Me.FeeType = "2")
    Me.TabCtl45.Pages("Page3").Visible = (Me.FeeType = "3")
    

    【讨论】:

    • 感谢安德烈的快速回复!这是我第一次使用 StackOverFlow。欣赏建议。无论如何,打印预览视图是否可以作为连续页面而不是单独的页面工作。我的用户主要只查看数据库中的结果,而不是打印结果。
    • 如果有人感兴趣,我解决了我的问题,方法是删除选项卡并将数据重叠在我的报告中......将数据 > 控制源部分中的值作为 IIF 公式。使用该公式,如果某些内容不符合标准,则它会变为 null,并且我启用了 can shrink 属性(这实际上隐藏了该数据集)。选项卡控件在报表视图中不起作用。
    • @RohitTalwar:很酷,谢谢。我建议您将其写为答案(可能带有示例公式)并接受它,因此(a)问题被标记为已解决,并且(b)与评论相比,未来的读者更容易看到它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多