影响 Access 中报告长度的不可见标签和组合框

Posted

技术标签:

【中文标题】影响 Access 中报告长度的不可见标签和组合框【英文标题】:Invisible labels and combo boxes affecting report lengths in Access 【发布时间】:2017-11-06 14:37:10 【问题描述】:

我在 Access 中有一份报告,该报告来自用于关闭项目的清单表单。加载报告时,根据项目类型,某些标签及其组合框被标记为不可见。这是使用 VBA 和每个控件的可见属性完成的。我注意到报告仍然包含这些组合框和标签作为空白区域。有没有办法去除空白?

我已将详细信息和整体报告设置为可以增长和可以缩小。我正在考虑可能使用子报告来做到这一点,但我不确定它是否会起作用。

编辑:我正在考虑的另一个解决方案是构建几个不同的报告,并为项目类型使用 if 语句来确定要打开哪个报告,但这对我来说感觉太过分了。此解决方案将在至少 5 个单独的报告中报告。

【问题讨论】:

【参考方案1】:

控件在 Microsoft Access 中不占用空间。它们位于预定义大小的报告上的某个预定义位置。它几乎没有动态的东西(是的,nicomp 是对的,CanGrow 属性使它有点动态)。

如果您确实需要,您可以将您隐藏的控件下方的所有控件上移,按您隐藏的控件的高度,假设控件占据页面的整个宽度。为此,您可以使用下面的 sn-p 之类的东西(遍历所有其他控件):

If MyHiddenControl.Top < MyOtherControl.Top Then
    MyOtherControl.Move MyOtherControl.Left, MyOtherControl.Top - MyHiddenControl.Height
End If

如果您想正确执行此操作,请为控件添加边距并调整报告详细信息部分的大小。

如果控件没有占据整个宽度,那么动态组织报表会变得相当困难。

【讨论】:

控件的“可以增长”属性怎么样? msdn.microsoft.com/en-us/vba/access-vba/articles/… @nicomp 相应地调整了我的答案

以上是关于影响 Access 中报告长度的不可见标签和组合框的主要内容,如果未能解决你的问题,请参考以下文章

ms-access 2007 年报告

根据组合框选择切换表单上其他字段的可见性 - MS Access

如何在 Access 2007 中设置第一个连续组合框不可见?

Microsoft Access VBA 2010 如何创建组合框和数组?

在 Cognos 10 中报告准备就绪时触发的可靠事件

MS Access:组合框重新查询