Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 基于记录计数的子报表可见性>;0_Ms Access_Ms Access 2016 - Fatal编程技术网

Ms access 基于记录计数的子报表可见性>;0

Ms access 基于记录计数的子报表可见性>;0,ms-access,ms-access-2016,Ms Access,Ms Access 2016,我有一个Access 365报告,其中包含3个子报告。我想使其中一个子报告可见,只有当它包含数据时 我的计划是使用包含此子报表中记录计数的控件。如果该计数为零,则将子报表的可见性设置为false 该子报表称为“NegOutputAccounts_子报表” 带有记录计数的控件在主报告中为“text45”(在我计算时为占位符) 我想我可以做一些简单的事情,比如: Private Sub Report_Open(Cancel As Integer) If Me.Text45 = 0 Then

我有一个Access 365报告,其中包含3个子报告。我想使其中一个子报告可见,只有当它包含数据时

我的计划是使用包含此子报表中记录计数的控件。如果该计数为零,则将子报表的可见性设置为false

该子报表称为“NegOutputAccounts_子报表” 带有记录计数的控件在主报告中为“text45”(在我计算时为占位符)

我想我可以做一些简单的事情,比如:

Private Sub Report_Open(Cancel As Integer)
    If Me.Text45 = 0 Then
        Me.NegConsentOutputAnnuity_subreport.Visible = False
    Else
        Me.NegConsentOutputAnnuity_subreport.Visible = True
    End If
End Sub
但显然不是。触发报告不会产生任何可见的操作。没有错误消息。删除/注释代码并按预期生成报告

我验证了text45控件是可变的。无论值是零还是非零,我都会得到相同的结果

提前感谢您的帮助


SC

即使没有代码,也不应显示没有数据的报告。可能只需要将子报表容器CanGrow和CanShrink属性设置为yes。对我有用。谢谢你的回复。在我的Access365版本中,我得到子报表标题和子报表列标题,但没有数据(当没有数据时)。自为每个子报表创建之后,Cangrow和CanShrink已设置为“是”。有数据时,子报表将展开以容纳所有相关记录。如果子报表中没有数据,我需要整个子报表不可见。然后代码必须以包含子报表的节的事件格式进行。PrintPreview或direct to printer(而非ReportView)的事件触发器。可能仍会在子报表所在的位置留下一些空白。正在尝试在设计中将容器设置为0高度。非常接近实际情况。在(太多)故障排除之后,我发现运行“report View”的报告显示的是如上所述的空表。转到“打印预览”,表格将不再可见。切换回“报告视图”,报告不可见。因此,直接转到“报告视图”会错误地显示空表。解决方案是转到“打印预览”。我不知道为什么会有这种“功能”,但这是一个令人讨厌的教训。