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 报告布局的主要内容,如果未能解决你的问题,请参考以下文章