隐藏详细信息字段取决于“访问报告视图”(非打印视图)中的其他变量

时间:2015-12-24 01:04:14

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

我在"详细信息"中有一个标签控件(TabCtl45)。我的报告部分有三个标签。 (第1页,第2页,第3页)。我只想显示一页,这取决于另一个称为费用类型的变量。如果FeeType = 1,则显示Page1选项卡。如果FeeType = 2,则页面Page2选项卡显示......等等。

我能够在"打印视图"使用OnFormat事件;但是,我希望将所有数据放在一个简单易用的页面中,例如报表视图。 不在打印视图输出等单独页面中。

代码看起来像这样:

  

如果Me.FeeType =" 1"然后

     

Me.TabCtl45.Pages(" Page1")。可见=真

     

Me.TabCtl45.Pages(" Page2")。可见=错误

     

Me.TabCtl45.Pages(" Page3")。可见=错误

     

ElseIf Me.FeeType =" 2"然后

     

Me.TabCtl45.Pages(" Page1")。可见=错误

     

Me.TabCtl45.Pages(" Page2")。可见=真

     

Me.TabCtl45.Pages(" Page3")。可见=错误

     

ElseIf Me.FeeType =" 3"然后

     

Me.TabCtl45.Pages(" Page1")。可见=错误

     

Me.TabCtl45.Pages(" Page2")。可见=错误

     

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

     

结束如果

如何让这段代码在"详细信息"的报告视图中工作?我的报告部分?没有任何事情我可以看到在这些属性中为此目的而工作"细节"部分。

1 个答案:

答案 0 :(得分:0)

你不能。报告视图相当有限,部分事件(如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")