Ms access 基于记录计数的子报表可见性>;0
我有一个Access 365报告,其中包含3个子报告。我想使其中一个子报告可见,只有当它包含数据时 我的计划是使用包含此子报表中记录计数的控件。如果该计数为零,则将子报表的可见性设置为false 该子报表称为“NegOutputAccounts_子报表” 带有记录计数的控件在主报告中为“text45”(在我计算时为占位符) 我想我可以做一些简单的事情,比如: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
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”的报告显示的是如上所述的空表。转到“打印预览”,表格将不再可见。切换回“报告视图”,报告不可见。因此,直接转到“报告视图”会错误地显示空表。解决方案是转到“打印预览”。我不知道为什么会有这种“功能”,但这是一个令人讨厌的教训。