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

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

【问题讨论】:

    标签: ms-access layout report grouping


    【解决方案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 事件只会在打印预览中运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多