Ms access 如果没有附件,如何隐藏报表上的附件(图像)对象?

Ms access 如果没有附件,如何隐藏报表上的附件(图像)对象?,ms-access,vba,ms-access-reports,attachment-field,Ms Access,Vba,Ms Access Reports,Attachment Field,我正在为MS Access数据库生成报告。报告包含一个子表单,其中列出了有关项目的信息,包括保存图像的附件字段 如果没有附件,则行空间仍由对象使用,从而在报告中产生大量不必要的空白 我需要将对象的大小调整为0x0,如果没有图像,还需要调整子报表的详细信息部分的大小 我发现我可以使用以下命令来确定是否存在图像,但不知道将语句放入哪个事件中,或者需要什么额外的语法: Me.attachPhoto.AttachmentCount 我找到了以下用于调整附件/图像对象大小的示例代码,我认为可以对其进行修

我正在为MS Access数据库生成报告。报告包含一个子表单,其中列出了有关项目的信息,包括保存图像的附件字段

如果没有附件,则行空间仍由对象使用,从而在报告中产生大量不必要的空白

我需要将对象的大小调整为
0x0
,如果没有图像,还需要调整子报表的详细信息部分的大小

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

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

    Private Sub Detail_格式(取消为整数,FormatCount为整数)
    如果为空(Me!Image20),则
    我Image20.Visible=False
    我图20.高度=0
    我图20.宽度=0
    ElseIf Not IsNull(Me!Image20)则
    我Image20.Visible=True
    我图20.高度=2880
    我图20.宽度=2880
    如果结束
    端接头
    
  • 假设我能够找到代码的放置位置并使其正常工作,我仍然不知道如何更改子报表详细信息部分的大小

  • 有几件事:

    首先,这样做不需要代码

    当然,问题是图片控件没有内置的可增长和可收缩设置

    但是,大多数控件都有,尤其是子报表

    事实上,我推荐以下技巧不仅适用于图片,而且如果没有值,通常会有一组控件收缩。问题是,虽然报表呈现系统可以很容易地折叠“一”框,但一行中的多个控件通常无法折叠,因为对于多个控件,Access无法确定如何向上移动多个控件

    更糟糕的是,图片控件无法收缩。但文本框和子报告的收缩效果确实不错

    鉴于上述情况

    将产品“项目”或组或图片移动到子报告中

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

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

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

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

    现在,此子报表仅在有图片时返回记录

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

    现在,保存此子报告–关闭它

    现在,主报告处于设计模式,只需从导航窗格拖放子报告

    结果应该如下所示:

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

    确保main上的子报表可以增长/收缩。将其大小调整为一行,如上图所示

    所以,只需点击几下鼠标,再进行一些拖放,你就可以开始比赛了

    编辑 我在主报告中也漏掉了这一点-您希望在主详细信息部分集合=否。您还需要使用打印预览-这似乎不适用于报告视图。

    有几件事:

    首先,这样做不需要代码

    当然,问题是图片控件没有内置的可增长和可收缩设置

    但是,大多数控件都有,尤其是子报表

    事实上,我推荐以下技巧不仅适用于图片,而且如果没有值,通常会有一组控件收缩。问题是,虽然报表呈现系统可以很容易地折叠“一”框,但一行中的多个控件通常无法折叠,因为对于多个控件,Access无法确定如何向上移动多个控件

    更糟糕的是,图片控件无法收缩。但文本框和子报告的收缩效果确实不错

    鉴于上述情况

    将产品“项目”或组或图片移动到子报告中

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

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

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

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

    现在,此子报表仅在有图片时返回记录

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

    现在,保存此子报告–关闭它

    现在,主报告处于设计模式,只需从导航窗格拖放子报告

    结果应该如下所示:

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

    确保main上的子报表可以增长/收缩。将其大小调整为一行,如上图所示

    所以,只需点击几下鼠标,再进行一些拖放,你就可以开始比赛了

    编辑
    我在主报告中也遗漏了这一点-您希望主详细信息部分集合保持在一起=否。您还需要使用打印预览-这似乎不适用于报告视图。

    该代码位于详细信息部分格式事件中,如
    详细信息\u格式所示。格式化事件触发器仅用于PrintPreview或direct to