Microsoft Access多页报表自定义不同页眉设置技术求助
Microsoft Access 报表差异化页眉与分页设置方案
一、实现第一页与后续页的不同页眉
- 拆分页眉内容
- 打开报表设计视图,添加报表页眉节,将承包商的完整信息(姓名、地址、合同编号、行业、保险信息等)放在这个节里——报表页眉只会在第一页顶部显示一次。
- 保留原有的页面页眉节,只保留简化内容(仅承包商姓名和行业),先在属性表中把页面页眉的
可见性设为否。
- 用VBA控制页面页眉显示
- 打开报表的代码编辑器,添加
Report_Page事件代码:Private Sub Report_Page() Me.PageHeaderSection.Visible = (Me.Page > 1) End Sub - 这段代码会让页面页眉只在第2页及以后显示,第一页自动隐藏。
- 打开报表的代码编辑器,添加
二、控制薪资数据的分页显示
假设薪资数据放在报表主体节(每条记录对应一周数据),按以下步骤设置:
- 添加分页计数逻辑
- 选中主体节,在属性表的事件选项卡中,绑定
Format事件,编写代码:Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) Static recordCount As Integer recordCount = recordCount + 1 ' 第20条记录后强制分页 If recordCount = 20 Then Me.NextRecord = False Me.PageBreak = True recordCount = 0 End If End Sub - 静态变量
recordCount会统计当前页已显示的薪资记录数,到第20条时强制分页,确保第一页只显示前20周数据,后续页从第21周开始输出。
- 选中主体节,在属性表的事件选项卡中,绑定
- 调整页面布局
- 拖拽报表页眉的高度,让它占据页面上三分之二的空间,把主体节(薪资数据)放在页面底部三分之一区域,避免内容重叠。
特殊情况处理
如果薪资数据是通过子报表展示的,需要在子报表中设置类似的分页逻辑,或者在主报表加载时给子报表的记录源分批次赋值:第一页子报表取前20条记录,后续页取剩余记录。
内容的提问来源于stack exchange,提问作者Zandy12
相关产品推荐
相关产品推荐

