我正在为MS Access数据库构建报告。该报告包含一个子窗体,该子窗体列出了有关项目的信息,包括保存图像的附件字段。
如果没有附件,则对象仍将使用行空间,从而导致报告中有很多不必要的空白空间。
我需要将对象调整为0x0
的大小,并且如果没有图像,还需要调整子报表的“详细信息”部分的大小。
我发现我可以使用以下命令来确定是否存在图像,但不知道该语句放入哪个Event或将需要其他语法:
Me.attachPhoto.AttachmentCount
我找到了以下示例代码,用于调整附件/图像对象的大小,我认为可以对其进行修改以使其正常工作,但不知道将其放置在哪个事件中:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If IsNull(Me!Image20) Then
Me!Image20.Visible = False
Me!Image20.Height = 0
Me!Image20.Width = 0
ElseIf Not IsNull(Me!Image20) Then
Me!Image20.Visible = True
Me!Image20.Height = 2880
Me!Image20.Width = 2880
End If
End Sub
假设我能弄清楚代码的放置位置并使代码能够正常工作,我仍然不知道如何更改子报表“ Details”部分的大小。
答案 0 :(得分:0)
几件事:
首先,您不需要执行此操作的代码。
当然,问题在于图像控件没有内置的可以增长的,可以缩小设置的
但是,大多数控件都可以,尤其是子报表。
实际上,我不仅建议对图片使用以下技巧,而且经常建议您使用一组“控件”来缩小它们(如果没有值)。问题在于报表呈现系统可以很容易地折叠“一个”框,而一行上的多个控件通常不能折叠,因为有了多个控件,Access无法弄清楚如何向上移动多个控件。>
更糟的是,图片控件无法缩小。但是文本框以及子报告的确缩小了。
鉴于以上内容?
将提供的“项目”或组或图片移动到子报告中。
尝试以下方法: 它不需要任何代码。 这是一种简便快捷的拖放方法。
只需创建空白的新报告。将该报表与现有报表基于同一表。
在此报告上启动查询构建器–是,以创建查询。
然后在查询构建器中执行以下操作:
现在,此子报表将仅返回有图片的记录。
从主报告中剪切图片控件(在设计模式下)。将其粘贴到此报告中。现在,您有了带有图片控件的报告。并且只有带有图片的记录才会出现(由于上述情况)。
现在,保存此子报告-关闭它。
现在,将主报表置于设计模式下,只需从导航窗格中拖放子报表即可。
结果应如下所示:
默认情况下,Access应该(将)将主链接子级设置为PK(这很好)。 (以防万一-请检查链接主子设置)
确保主要的子报告可以增长/收缩。像上面一样将其大小调整为一行。
因此,只需单击几下鼠标,并进行一些拖放操作,即可开始比赛。
我还错过了主要报告中的内容-您希望将主要详细信息部分的内容设置为否。您还需要使用打印预览-这似乎不适用于报告视图。