MS Access 报告布局

Posted

技术标签:

【中文标题】MS Access 报告布局【英文标题】:MS Access Report Layout 【发布时间】:2012-11-24 16:33:51 【问题描述】:

我创建了一个包含分组数据的报告,如图上半部分所示。理想情况下,我希望分组看起来像图像的下半部分。这在 Access 中是否可行,如果可以,我该如何实现?谢谢。

【问题讨论】:

【参考方案1】:

在 Access 中并排放置部分并不容易。报告有一个属性MoveLayout,可以在代码中设置为False。这样做的结果是下一部分将开始在相同的垂直位置打印,从而打印几个重叠的部分。

这是我的一份报告中的代码示例,我根据字段值设置此属性:

Private Sub GroupHeader2_Format(Cancel As Integer, FormatCount As Integer)
    If FormatCount = 1 Then
        If IsNull(Me!Pruefpunkt) Then
            Me.MoveLayout = False
        End If
    End If
End Sub

您可能必须在组部分标题中将此属性设置为False,并在详细信息部分和组部分页脚中设置为true。在部分的Format 事件中执行此操作。


更新(回应评论)

对我有用

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    MoveLayout = True
End Sub

Private Sub GroupHeader0_Format(Cancel As Integer, FormatCount As Integer)
    MoveLayout = False
End Sub

Private Sub GroupHeader1_Format(Cancel As Integer, FormatCount As Integer)
    MoveLayout = False
End Sub

报告看起来像这样

结果是这样的

【讨论】:

谢谢,我会试一试,然后回复你。 @Oliver 我在组头的 onFormat 事件上尝试了“Me.MoveLayout = False”,但它似乎没有做任何事情。然后我对 onLoad 事件做了同样的事情,它产生了对属性异常的无效引用。我确信你的建议是正确的,但我似乎无法让它发挥作用。 实际上效果很好。该事件没有触发,因为显然它只在打印视图中触发。想想我正要经历把它变成一个交叉表的噩梦。如果可以的话,我会给你更多的支持:) 非常感谢。 我上面显示的实际上是一个打印预览。原因代码永远不会在 Access 的设计模式下运行;因此你永远不会在设计模式下看到最终的效果。 代码也不会在报告/表单视图中运行,即使其他事件确实运行。 onFormat 事件只会在打印预览中运行。

以上是关于MS Access 报告布局的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MS Access 中保留导航弹出表单中的数据

MS Access:突出显示 MS Access 报告中的特定字段

MS-Access 报告在执行时显示设计视图

编辑默认报告 - MS-Access

MS Access - 通过取消报告创建的“幻影”进程

ms-access:仅显示特定日期内记录的报告