1

我正在为 MS Access 数据库构建报告。该报告包含一个列出项目信息的子表单,其中包括一个包含图像的附件字段。

如果没有附件,行空间仍然被对象使用,导致报表中有很多不必要的空白空间。

0x0如果没有图像,我需要调整对象的大小并调整子报告的详细信息部分的大小。

  1. 我发现我可以使用以下命令来确定是否存在图像,但不知道将语句放入哪个事件或需要什么附加语法:

    Me.attachPhoto.AttachmentCount
    
  2. 我找到了以下示例代码,用于调整附件/图像对象的大小,我认为我可以对其进行修改以使其正常工作,但不知道将其放置在哪个事件中:

    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 
    
  3. 假设我可以弄清楚代码的放置位置并使其工作,我仍然不知道如何更改子报表的详细信息部分的大小。

4

1 回答 1

0

一些东西:

首先,您不需要代码来执行此操作。

问题当然是图片控件没有内置的可以放大、可以缩小的设置。

但是,大多数控件都可以,尤其是子报表。

事实上,我建议以下技巧不仅适用于图片,而且如果它们没有值,通常你有一个“组”控件要缩小。问题是,虽然报表呈现系统可以很容易地折叠“一个”框,但一行上的多个控件通常不能折叠,因为有多个控件,然后 Access 无法弄清楚如何向上移动多个控件。

更糟糕的是,图片控件无法缩小。但是文本框和子报告确实缩小得相当好。

鉴于以上?

将提供的“项目”或组或图片移动到子报告中。

试试这个方法:它不需要代码。这是一种简单而快速的拖放方法。

只需创建空白的新报告。报告基于与现有报告相同的表格。

在此报告上启动查询生成器 - 是的以创建查询。

然后在查询生成器中执行以下操作:

在此处输入图像描述

现在,这个子报表只有在有图片的情况下才会返回记录。

从主报表中剪切图片控件(在设计模式下)。将其粘贴到此报告中。现在你有了一个只有图片控件的报告。并且只会出现带有图片的记录(由于上述情况)。

现在,保存这个子报告——关闭它。

现在,您的主报表处于设计模式,只需从导航窗格中拖放子报表即可。

结果应如下所示:

在此处输入图像描述

默认情况下,访问应该(将)将主链接子项设置为 PK(这很好)。(以防万一 - 请检查链接主子设置)

确保主要的子报告可以增长/可以缩小。将其大小设置为 ONE 线,如上所示。

因此,只需单击几下鼠标,然后进行一些拖放操作,您就可以开始比赛了。

编辑

我在主报告中也错过了这一点-您希望将主要详细信息部分设置在一起=否。您还需要使用打印预览 - 这似乎不适用于报告视图。

于 2019-04-30T23:36:07.990 回答